git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: log -m output

From
Elijah Newren <newren@gmail.com>
Date
Oct 7, 2019, 17:20 UTC
Message-ID
<CABPp-BFPrweNZ=ubT+8EE9xPyNjzEuUXKvESmXDb3Mhh37dAVA@mail.gmail.com>
In-Reply-To
<7b9c0b0b-2a1c-d4d3-13ba-f020ff15d5ad@mail.ru>
On Mon, Oct 7, 2019 at 10:05 AM Semyon Kirnosenko <kirnosenko@mail.ru> wrote:
Show 33 quoted lines
>
> 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.
Previous: Semyon KirnosenkoNext: Semyon Kirnosenko
Message 4 of 5 in “log -m output”
  1. Semyon KirnosenkoOct 7, 2019
  2. SZEDER GáborOct 7, 2019
  3. Semyon KirnosenkoOct 7, 2019
  4. Elijah NewrenOct 7, 2019
  5. Semyon KirnosenkoOct 7, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.