From: Junio C Hamano <gitster@pobox.com>
To: "Julien ÉLIE" <julien@trigofacile.com>,
"Barret Rhoden" <brho@google.com>,
"Michael Platings" <michael@platin.gs>
Cc: git@vger.kernel.org
Subject: Re: Ignored commits appearing in git blame
Date: Mon, 09 Jan 2023 13:35:22 +0900 [thread overview]
Message-ID: <xmqq5ydgwcj9.fsf@gitster.g> (raw)
In-Reply-To: <b1051e73-e663-82bf-bda6-015e64102248@trigofacile.com> ("Julien ÉLIE"'s message of "Sun, 8 Jan 2023 10:27:37 +0100")
Julien ÉLIE <julien@trigofacile.com> writes:
[jc: redirecting to those who touched "blame-ignore" topic in the past]
> Hi all,
>
> I'm facing an issue with the use of "git blame" which shows commits marked to be ignored.
>
> We have a .git-blame-ignore-revs file that can be retrievable at <https://github.com/InterNetNews/inn/blob/main/.git-blame-ignore-revs>.
>
> The Git command line I'm using is:
> git blame --ignore-revs-file .git-blame-ignore-revs radius.c
>
> Here is an extract where commit 36944f2b16 appears at line 59, though it should be ignored (present in .git-blame-ignore-revs):
>
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 50) int radport;
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 51) char *lochost;
> a9d899ddbe (Russ Allbery 1999-11-29 01:40:47 +0000 52) int locport;
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 53)
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 54) char *prefix, *suffix; /* futz with the username, if necessary */
> 9f21a39f37 (Katsuhiro Kondou 1999-06-12 09:33:48 +0000 55) int ignore_source;
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 56)
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 57) struct _rad_config_t *next; /* point to any additional servers */
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 58) } rad_config_t;
> 36944f2b16 (Julien ÉLIE 2021-10-31 10:04:59 +0100 59)
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 60) typedef struct _sending_t {
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 61) auth_req req;
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 62) int reqlen;
>
>
> When running git blame without ignoring revisions, commit 36944f2b16 appears at lines 54, 57 and 59:
>
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 50) int radport;
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 51) char *lochost;
> a9d899ddbe (Russ Allbery 1999-11-29 01:40:47 +0000 52) int locport;
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 53)
> 36944f2b16 (Julien ÉLIE 2021-10-31 10:04:59 +0100 54) char *prefix, *suffix; /* futz with the username, if necessary */
> 9f21a39f37 (Katsuhiro Kondou 1999-06-12 09:33:48 +0000 55) int ignore_source;
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 56)
> 36944f2b16 (Julien ÉLIE 2021-10-31 10:04:59 +0100 57) struct _rad_config_t *next; /* point to any additional servers */
> 8e3e288fec (Marc G. Fournier 1998-12-29 13:19:05 +0000 58) } rad_config_t;
> 36944f2b16 (Julien ÉLIE 2021-10-31 10:04:59 +0100 59)
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 60) typedef struct _sending_t {
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 61) auth_req req;
> d65e228465 (Jeffrey M. Vinocur 2002-03-14 07:27:00 +0000 62) int reqlen;
>
>
> Shouldn't 36944f2b16 have disappeared from the output at line 59?
>
> It should have been d65e228465 which already had that line, as it can be seen in the commit (line 53 at that time):
> https://github.com/InterNetNews/inn/blob/d65e228465700ff044b75aecacb7062d2a1250f9/authprogs/radius.c
>
>
> The result of that command is the same as the one GitHub shows; you can therefore find the whole ouput here:
>
> https://github.com/InterNetNews/inn/blame/main/authprogs/radius.c
>
> Commit 36944f2b16 is mentioned at lines 59, 129, 144, 293, etc. though present in .git-blame-ignore-revs.
> Yet, that very commit is correctly ignored at other places of the same file.
>
> Other files and other commits in the project are also affected. I can give more examples if needed.
>
>
> Is it the expected behaviour of "git blame"?
> Is there a reason for these commits to appear in some portions of the blame output?
>
>
> Thanks beforehand,
next prev parent reply other threads:[~2023-01-09 4:39 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-08 9:27 Ignored commits appearing in git blame Julien ÉLIE
2023-01-09 4:35 ` Junio C Hamano [this message]
2023-01-09 13:26 ` Michael Platings
2023-01-10 21:09 ` Julien ÉLIE
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqq5ydgwcj9.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=brho@google.com \
--cc=git@vger.kernel.org \
--cc=julien@trigofacile.com \
--cc=michael@platin.gs \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.