On Mon, Oct 7, 2019 at 10:05 AM Semyon Kirnosenko <kirnosenko@xxxxxxx> wrote: > > On 2019-10-07 20:43, SZEDER Gábor wrote: > > On Mon, Oct 07, 2019 at 07:14:25PM +0400, Semyon Kirnosenko wrote: > >> I have a question about log command. > >> Probably I'm just missing something but anyway. > >> I can illustrate the question on the repository of Git. > >> Let's look at revision 1ed91937 > >> It is a merge based on pair of revisions a9572072 and 294c695d. > >> According to blame these parent revisions have different content for > >> delta.h file. > > > > I'm not sure what you mean by this statement; what blame command did > > you run? > > > >> But when I get log with -m flag for merge revision, I can't see that > >> file in the list of changed files. > >> Why? > > > > The contents of 'delta.h' is identical in both parents of that merge: > > > > $ git diff a9572072 294c695d delta.h > > $ > > # no difference > > > > So 'git log -m' does the right thing by not showing 'delta.h'. > > > > . > > > > But blame shows different results: > > git blame a9572072 delta.h > git blame 294c695d delta.h blame does not at all claim those two revisions have different versions of delta.h: $ diff -u <(git blame a9572072 delta.h) <(git blame 294c695d delta.h) --- /dev/fd/63 2019-10-07 10:16:43.092356078 -0700 +++ /dev/fd/62 2019-10-07 10:16:43.092356078 -0700 @@ -9,8 +9,8 @@ a310d434946 (Nicolas Pitre 2005-05-19 10:27:14 -0400 9) void *delta_buf, unsigned long delta_size, a310d434946 (Nicolas Pitre 2005-05-19 10:27:14 -0400 10) unsigned long *dst_size); d1af002dc60 (Nicolas Pitre 2005-05-20 16:59:17 -0400 11) -dcde55bc58a (Nicolas Pitre 2005-06-29 02:49:56 -0400 12) /* the smallest possible delta size is 4 bytes */ -dcde55bc58a (Nicolas Pitre 2005-06-29 02:49:56 -0400 13) #define DELTA_SIZE_MIN 4 +c7a45bd20e4 (Junio C Hamano 2005-12-12 16:42:38 -0800 12) /* the smallest possible delta size is 4 bytes */ +c7a45bd20e4 (Junio C Hamano 2005-12-12 16:42:38 -0800 13) #define DELTA_SIZE_MIN 4 dcde55bc58a (Nicolas Pitre 2005-06-29 02:49:56 -0400 14) dcde55bc58a (Nicolas Pitre 2005-06-29 02:49:56 -0400 15) /* dcde55bc58a (Nicolas Pitre 2005-06-29 02:49:56 -0400 16) * This must be called twice on the delta data buffer, first to get t It does say that _how_ those two arrived at the *same* version of the file differed, but if you compare the portions of the differing lines corresponding to the actual file contents you see that they are the same...just as SZEDER pointed out.