After migrating to Windows, I'm using msysgit with its included bash shell, and that's working well for me. But I have issues: our ant build process won't run in that shell, I'd like to use Cygwin's xterms instead of the Windows command window, since the terminal compatibility isn't good enough to run everything else I'd like in that window, and so on.
I've actually made a go of sticking with msysgit in the Windows command shell so that I don't have to use a separate window to build, but that's got even more problems: the lack of cd
- and file completion is killing me, most of the commands I'd like to pipe to aren't present, etc.
So if I switch to using Cygwin's git, or worse, use both at different times, are line-endings going to bite me? Will Cygwin's git expect everything to be \n
and think it's seeing changes because mSysGit converted to \r\n
when checking out? Will Cygwin's git check out as \n
and confuse my Windows Eclipse, which I'm sure wants everything to be \r\n
?
Most modern applications (including Eclipse) are perfectly capable of using \n only.
There are a few annoying exceptions (e.g. email protocol), but in most cases you can stick to just using \n for everything.
So, as VonC says, just disable the autocrlf setting and it'll be fine.
I got headache on the line endings. I'm using cygwin git, and it always report some newly checked-out text files as "modified". When I changed "core.autocrlf" from "true" to "input" ten out of fifteen files disappeared from the modified list, and the remaining 5 went away after I set "core.autocrlf" to "false".
I can't vote for VonC's solution due to low reputation but I would say it works for me.
Actually, just sticking with msysGit won't save you. I had one issue where every single source file showed as changed because of the line-ending issue when using different versions of msysGit. Setting core.autocrlf in the git config file fixed it.
After debugging this for a while I solved it for my case. I copied the id_rsa file from a Linux partition in a roundabout way leaving the line endings in LF (Unix) format. Opening the file in eclipse and converting the line endings to Windows fixed this. Also, I have GIT_SSH set to Plink (from Putty) following these instructions: http://www.mainelydesign.com/blog/view/git-plink-for-ssh-on-windows
From this post - "Setup GIT Server with Msysgit on Windows" - a user suggested this link - http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/
I used this setup and works flawlessly on Windows for Me.
Hope it helps
The simplest approach would be to set any git (msysGit or Cygwin git) to ignore crlf styles.
That way, you do not have ant unwanted conflict.