git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "René Scharfe" <l.s.r@web.de>
To: Jorge Luis Martinez Gomez <jol@jol.dev>, git@vger.kernel.org
Subject: Re: bug report - `git diff --quiet --cached` returns 0 when a rename is staged
Date: Sun, 8 Sep 2024 09:04:10 +0200	[thread overview]
Message-ID: <b21d74b6-aa51-474a-a8be-40dc1de94bc3@web.de> (raw)
In-Reply-To: <0241cbcc-11b3-483a-8a63-d523291b92ff@app.fastmail.com>

Am 07.09.24 um 01:12 schrieb Jorge Luis Martinez Gomez:
> Thank you for filling out a Git bug report!
> Please answer the following questions to help us understand your issue.
>
> What did you do before the bug happened? (Steps to reproduce your issue)
>
>   $ mkdir /tmp/git-diff-test; cd /tmp/git-diff-test
>   $ git init
>   Initialized empty Git repository in /tmp/git-diff-test/.git/
>   $ touch foo
>   $ git add foo
>   $ git commit -m "foo"
>   [main (root-commit) f60d7bc] foo
>    1 file changed, 0 insertions(+), 0 deletions(-)
>    create mode 100644 foo
>   $ mv foo bar
>   $ git status -s
>    D foo
>   ?? bar
>   $ git add foo bar
>   $ git status -s
>   R  foo -> bar
>   $ git diff --quiet --cached; echo $?
>   0
>   $ git diff --quiet --cached --no-renames; echo $?
>   1
>
> What did you expect to happen? (Expected behavior)
>
>   Versions prior to commit d7b97b7185521e3b9364b3abc6553df2480da173
>   returned 1 for `git diff --quiet --cached`.

Thanks a lot for the reproduction recipe and for bisecting it!

> What happened instead? (Actual behavior)
>
>   It returned 0.
>
> What's different between what you expected and what actually happened?
>
>   The status code.
>
> Anything else you want to add:
>
>   This bug report originates from a PR I filed with Magit here:
>
>   https://github.com/magit/magit/pull/5221
>
>   I thought this difference between using `--no-renames` and not made
>   sense, so I thought the problem lied with Magit. However, like tarsius in
>   that thread points out, this is a change that happened recently with git
>   and it's not in the release notes. After finding the commit that
>   introduces the change, I see the message mentions "The new options are
>   off by default, keeping the old behavior." It really doesn't seem
>   intentional, so here's a bug report.

Indeed, that's a bug.  Affects copies as well.  And could be triggered by
e.g. --ignore-space-change or --ignore-matching-lines before, like the
submodule diff regression reported earlier.

René


      reply	other threads:[~2024-09-08  7:04 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-06 23:12 bug report - `git diff --quiet --cached` returns 0 when a rename is staged Jorge Luis Martinez Gomez
2024-09-08  7:04 ` René Scharfe [this message]

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=b21d74b6-aa51-474a-a8be-40dc1de94bc3@web.de \
    --to=l.s.r@web.de \
    --cc=git@vger.kernel.org \
    --cc=jol@jol.dev \
    /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 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 NNTP newsgroup(s).