All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ulrich Windl" <Ulrich.Windl@rz.uni-regensburg.de>
To: <git@vger.kernel.org>
Subject: Bug in 2.26.2 regading "git diff --cached"?
Date: Wed, 20 Apr 2022 13:24:14 +0200	[thread overview]
Message-ID: <625FED5E020000A10004978D@gwsmtp.uni-regensburg.de> (raw)

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




             reply	other threads:[~2022-04-20 11:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-20 11:24 Ulrich Windl [this message]
2022-04-20 11:31 ` Antw: Bug in 2.26.2 regading "git diff --cached"? Ulrich Windl

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=625FED5E020000A10004978D@gwsmtp.uni-regensburg.de \
    --to=ulrich.windl@rz.uni-regensburg.de \
    --cc=git@vger.kernel.org \
    /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.