Antw: Bug in 2.26.2 regading "git diff --cached"?
- From
- Ulrich Windl <ulrich.windl@rz.uni-regensburg.de>
- Date
- Apr 20, 2022, 11:31 UTC
- Message-ID
- <625FEF14020000A100049791@gwsmtp.uni-regensburg.de>
- In-Reply-To
- <625FED5E020000A10004978D@gwsmtp.uni-regensburg.de>
Hi again!
It seems the issue was caused by the specific edit of the hunk. I cannot remember that there was an error message, but I reset the adds again and re-edited the hunk. This time the "diff --cached" showed the change for both files.
Regards, Ulrich
>>> Ulrich Windl schrieb am 20.04.2022 um 13:24 in Nachricht <625FED5E.C7A : 161 :
60728>:
Show 79 quoted lines
> Hi!
>
> I just added interactively one hunk and committed it, just to find out that
> I wanted to include another hunk (that would need editing).
> So I reset to the previous commit, added the two correct hunks again, and
> then did "git diff --cached".
> I was surprised to find only one of the two hunks I've added in the diff.
> The likely reason is that one of thoise hunks had been committed, but that
> commit was reset.
>
> Some details:
> (reflog)
> ebd6e6c (HEAD -> rfc-5424-message) HEAD@{0}: reset: moving to
> ebd6e6c8af5b9eaa809a114ee6a972114b3f6a86
> 6997ce5 HEAD@{1}: commit: Remove call to Class::_fake_load(__PACKAGE__)
> ebd6e6c (HEAD -> rfc-5424-message) HEAD@{2}: commit: Fix RE_day in
> lib/RFC_5424_Message.pm
>
> So 6997ce5 was the incomplete commit.
>
> > git status
> On branch rfc-5424-message
> Changes to be committed:
> (use "git restore --staged <file>..." to unstage)
> modified: lib/Message.pm
> modified: lib/UnknownMessage.pm
>
> Changes not staged for commit:
> (use "git add <file>..." to update what will be committed)
> (use "git restore <file>..." to discard changes in working directory)
> modified: lib/Message.pm
> modified: lib/MessageLogFormat.pm
> modified: lib/RFC_3164_Message.pm
> modified: lib/RFC_5424_Message.pm
> modified: syslogd.pl
>
> So there are two files with changes to commit.
> "git diff --cached -M" outputs only one chink, however:
> diff --git a/lib/UnknownMessage.pm b/lib/UnknownMessage.pm
> index eef8f25..d0246ef 100644
> --- a/lib/UnknownMessage.pm
> +++ b/lib/UnknownMessage.pm
> @@ -114,8 +114,4 @@ sub parse_OK($$$$)
> return defined($class->new_parsed($lt, $peer_addr, $packet, 1));
> }
>
> -BEGIN {
> - Class::_fake_load(__PACKAGE__); # Tell Perl module is loaded already
> -}
> -
> 1;
> ---------------
> Interestingly the hunk shown is the one that was in the bad commit; the
> edited commit is missing.
>
> The missing hunk should look like this:
> ---
> diff --git a/lib/Message.pm b/lib/Message.pm
> index 2c60960..abd3e8e 100644
> --- a/lib/Message.pm
> +++ b/lib/Message.pm
> @@ -147,8 +147,19 @@ sub parse_OK($$$$)
> return undef;
> }
>
> -BEGIN {
> - Class::_fake_load(__PACKAGE__); # Tell Perl module is loaded already
> -}
>
> 1;
> ---
>
> Now is that a bug, or is it a "pilot error"?
>
> Regards,
> Ulrich
>
>
>