line-endings (dos vs. unix text) files in stash/git

We are evaluating stash. Our current source control system forces text files in Unix format. It looks like something similar can be done with git via the config command.

Does stash provide any way of managing this or is there a way to create the repo like this by default?

4 answers

1 accepted

0 votes
Answer accepted

Hi Garret,

Actually I tell a lie. It can be fone via the .gitattributes file.

It would certainly be possible to write a plugin which automatically creates a repository with these settings enabled. There isn't anything on the road map yet, but we will certainly keep it in mind.



Thanks Charles. We were looking at the .gitattributes file also. Things like this are places where I think stash can really add some value for an enterprise git solution. How would we convert this into an actual feature request that folks could vote on, etc?

Hi Garret,

You can raise a STASH Jira, and we can track/vote on the feature request there.

To write the plugin (or anyone reading this) you could listen for the RepositoryCreatedEvent, and then use GitScmConfig.getRepositoryDir() to find the directory, manually create the attributes file and commit. The 'tricky' part is know when to apply this behaviour. If you always want the same line-endings then you don't have to worry about configuration screens and such.

I hope this helps.


I've created the following and referenced this answer.

Hello Garret,

If you are migrating from Subversion, consider using SVN Importer Plugin for Stash. It converts any SVN repository to Git and keeps all the line ending rules one has enforced for SVN repository (among other things).

You might be interested in this blog post as well, it has a great overview of using .gitattributes file to enforce line endings at Git repository; it also compares Git & SVN techniques of handling EOL bytes.

Hope that helps,


Hi Seymon,

Thanks for the reply - the blog post is particularly helpful.

Unfortunately, we are not migrating from SVN - but the plugin looks great.


Thank you, Garret. Hopefully, my answer is helpful for those who's migrating from SVN to Stash.

Hi, Garret.

From now, I can suggest you to use stash-eol-check plugin, to force EOL style of new committed changes.

Best regards,


Hi Garret,

Unfortunately line endings can only be enforced per-client with the auto.crlf configuration flag. This setting cannot be embedded in the actual repository by Stash (or any system), only set locally by users.

Sorry about that.


Suggest an answer

Log in or Sign up to answer
Community showcase
Published Thursday in Bitbucket Pipelines

Building a Bitbucket Pipe as a casual coder :  #!/bin/bash source "$(dirname "$0")/" enable_debug extra_args="" if [[ "${DEBUG}" == "true" ]]; then extra_args="--verbose" fi # mandatory variables R...

228 views 0 12
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you