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
List information: http://vger.kernel.org/majordomo-info.html
* 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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).