git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Sofia Syria <sofiasyria@gmail.com>, git@vger.kernel.org
Subject: Re: diff-filter can't identify renaming if not done directly
Date: Fri, 04 Dec 2020 12:07:56 -0800	[thread overview]
Message-ID: <xmqqh7p1e3mr.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <X8pmURHeWcNLwmvs@coredump.intra.peff.net> (Jeff King's message of "Fri, 4 Dec 2020 11:39:45 -0500")

Jeff King <peff@peff.net> writes:

> On Fri, Dec 04, 2020 at 03:59:03PM +0100, Sofia Syria wrote:
>
>> quick question about using diff-filter in linux. In the scenario
>> that in my repository, I first copy file1 to file2, then move file2 to
>> file3 and delete file1, "git diff" returns:
>> 
>> diff --git a/file1 b/file3
>> similarity index 100%
>> rename from file1
>> rename to file3
>> 
>>  but running "git diff --diff-filter=r" doesn't return anything. Only
>> flag "t" will return the change. Can this be considered as a bug?
>
> Lowercase filters exclude particular types. From "git help diff":
>
>     --diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
> 	   Select only files that are Added (A), Copied (C), Deleted
> 	   (D), Modified (M), Renamed (R), have their type (i.e. regular
> 	   file, symlink, submodule, ...) changed (T), are Unmerged (U),
> 	   are Unknown (X), or have had their pairing Broken (B). Any
> 	   combination of the filter characters (including none) can be
> 	   used. When * (All-or-none) is added to the combination, all
> 	   paths are selected if there is any file that matches other
> 	   criteria in the comparison; if there is no file that matches
> 	   other criteria, nothing is selected.
>
> 	   Also, these upper-case letters can be downcased to exclude.
> 	   E.g. --diff-filter=ad excludes added and deleted paths.
>
> So "--diff-filter=R" asks to see only renames. But "--diff-filter=r"
> asks to exclude them. And "--diff-filter=t" excludes typechanges, which
> means that renames are still OK. Doing "--diff-filter=a", etc, would
> still show it as well.

Correct.  I should have scanned my inbox to find that the same
question was asked twice and one of the copies already got a good
answer.


      reply	other threads:[~2020-12-04 20:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-04 14:59 diff-filter can't identify renaming if not done directly Sofia Syria
2020-12-04 16:39 ` Jeff King
2020-12-04 20:07   ` Junio C Hamano [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=xmqqh7p1e3mr.fsf@gitster.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    --cc=sofiasyria@gmail.com \
    /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).