Thread (1 message) 1 message, 1 author, 2016-06-15

Re: diff weirdness (bug?)

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:59:57

Dario Bertini [off-list ref] writes:
On 02/14/2014 09:03 PM, Junio C Hamano wrote:
quoted
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).
quoted
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
A blob object name (or for that matter, names of any type of object)
is not the same as the hash over its contents alone.

See "combined diff format" section of "git diff --help" if you are
interested in reading what the output format is telling you.
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
If you are primarily interested in what a merge (or other
mergy-operation like revert) did to your working tree state,
relative to the state it operated on, "git diff HEAD" is most likely
what you want.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help