Subject: Re: diff weirdness (bug?)

From: Dario Bertini <[email-masked]>
Date: Mon, 17 Feb 2014 00:31:15 +0100

On 02/14/2014 09:03 PM, Junio C Hamano wrote:
> This is a combined diff, and yaml-related lines are added relative
> to your _other_ branch you are merging (notice these + are indented
> by one place).  Relative to what you had at the tip of your branch
> before you started this operation that ended up conflicted, the
> half-merged result removes if/else that sets DIST_MODULE_PATH and
> replaces it with a single line (their +/- are on the first column,
> signifying that these are differences relative to the first parent,
> i.e. your state before you started the operation).
> 
>> if we remove these 3 lines, we'll get this diff:
> 
> With that understanding, I think the output after removing these
> three lines is perfectlyh understandable and correct.  You are
> looking at the three lines that used to exist in the version you
> started from, that were missing from the other side.  If you remoe
> them, it will show as removal from _your_ version (notice these -
> that shows what _you_ did manually are on the first column, saying
> that that is relative to _your_ version).
> 

Thank you, I was completely unaware of combined diffs. Still: I can't
see how this would explain the empty diff when deleting 4 lines instead
of 3.

Also: in the diff output I get 2 hashes, but these are not the hashes of
the commits, but the contents of the files apparently. One should be
HEAD (but if I run sha1sum over the file the hash doesn't match), but
the other can't be the commit which I reverted: the diff is too small...
or at least this is what I understand

By the way, in the man of git diff there's the briefly mentioned '-m'
flag. If anyone else reading this mail in the archives is confused by
the combined diff output, just use "git diff -m HEAD"... I'll probably
add this in my git aliases

-- 
xmpp: [email-masked]
bitmessage: BM-2cTYXfGiSTsnx3righ6aHcJSWe4MV17jDP
gpg fingerprint: 3F8D53518012716C4EEF7DF67B498306B3BF75A0 (used just
for signing commits)