No trailing newline and bogus conflicts
- From
Martin Langhoff <martin.langhoff@gmail.com>
- Date
- Jul 18, 2006, 02:39 UTC
- Message-ID
- <46a038f90607171939l21d986efgca1cadf0817c0229@mail.gmail.com>
Hi!
I am seem to be having problems merging and cherry-picking patches on files that have no trailing newlines. Not having a trailing newline is bad style, but some (arguably braindead) languages and text file formats actually expect it. (Alas, to be burdened with PHP syntax.)
I may be doing something wrong, but I've had two merges in a row where git seemed to think that there was conflict or different at the bottom of the file, where there wasn't.
For example if you clone http://git.catalyst.net.nz/git/moodle.git#mdl-artena-tairawhiti (~180MB) and you look around these two merges:
bae5c70f0dc97d1c5a59ec2c9278d06f7427db71 bcfc1924516baa48d6e07eb125a1cb4f39d76dfa
you will see that I cherry-picking patches to auth/db/lib.php -- however I forgot one patch and tried to fix things up in a branch and merge it in. The last line, though identical, was always reported as "different" between the 2 files when I was resolving bcfc19.
And later, when working on bae5c, I suspect I shouldn't have seen a conflict, as both sides had changed exactly the same.
Any ideas other than dropping PHP?
martin