On 2015-06-30 16.12, Thomas Vieten wrote: > We face a very inconvenient problem with end-of-line diffs which are not "real". > We know the end-of-line problem very well as we thought. > But now we found a new phenomenon and nobody mentioning it. > > Consider the following repository structure: > > -----------|----|------------->branch1 > / > master > \ > ----------|-------|---------|--------------->branch2 > > The branches are based on master/head. > We just consider one branch here, e.g. branch1 . > > Working with the head of branch1 gives no problems. No end-of-line diffs. > Also going back in the direction of master - no problems. > Only in the case if we do a checkout from branch1 to master, then > all of a sudden end-of-line diffs appear. > The files might be changed, but the end-of-line attributes in gitattributes are > not changed in the branch. > > It seems to be the case that since the last change to the files which pop up > with eol differences, gittattributes where changed and touch their extensions. > > With the operation > > git ls-files -z | xargs -0 rm -f # delete all the files of this version - here > master/head > git reset --hard # force checkout of master/head and reset index > > The problem disappears! No eol problems anymore. Something like a brute force > checkout. > > Also checking out versions in the direction of branch1 give never end-of-line > diffs. > > What has changed somewhen are the gitattributes. > > We estimate that this becomes a problem when applying the diffs from branch1 in > the direction of > the master. Finally then the diffs result in a different state from the master. > > But when the master is checked out freshly, this difference does not appear. > > Very, very annoying. > > We check now every time when these end-of-line diffs appear, if they are really > end of line diffs > > git diff --ignore-space-at-eol > > and then try the procedure above. > > But to have a dependence from the direction of the checkout is somewhat irritating. > > If this is not a bug - then how to avoid it ? > > bye for now > > Thomas > The things which are described don't sound unfamilar. First some questions: Which Git/OS are you running on ? CYGWIN ? Git-for-Windows ? Linux ? Other ? Which versions ? How does your .gitattribute file look like ? It may be, that you need to "nornalize" your repo: https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html The search for this text "When text=auto normalization" and follow the instructions: -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html