FYI (solved): Line ending issue when switching between 2.4 and trunk in one git repo
Christian Stimming
christian at cstimming.de
Fri Mar 29 16:29:59 EDT 2013
I have one local git repo with 2.4 and trunk branch in there. I regularly
switch the checkout between both branches, e.g. for back-porting commits and
such.
Recently it occurred to me that when doing something on the 2.4 branch and
then switching the working copy to trunk again, suddenly several files in
packaging/win32 were reported to have changed. Obviously those reported
changes can only originate from line ending issues.
Turns out the "problem" is that in January, our trunk branch got a
".gitattributes" file that finally unambiguously specifies the expected line
endings for all various files that exist in our repo. However, the 2.4 branch
does not have that file. Hence, the local git client switches betwenn
different line ending policies when switching between 2.4 and trunk!
In 2.4 (the "old system" in the article linked below) the local core.autocrlf
setting is the important configuration option, and in this case autocrlf=false
should probably get rid of unwanted line ending changes. For whatever reason
this was not enough, unfortunately.
Eventually I settled on the following solution: When switching from 2.4 to
trunk, I temporarily remove the (newly appeared) .gitattributes file, then the
spurious file changes disappear, and I can revert the .gitattributes removal
again. Not the most elegant solution but at least it works and doesn't require
larger line ending changes on the 2.4 branch. Once we drop the 2.4 branch,
this issue will disappear as well.
Further reading:
https://help.github.com/articles/dealing-with-line-endings
http://timclem.wordpress.com/2012/03/01/mind-the-end-of-your-line/
Regards,
Christian
More information about the gnucash-devel
mailing list