threads / discuss / 54761

diff-filter=R can't identify renaming if not done directly

Subject: diff-filter=R can't identify renaming if not done directly

## tl;dr

2 messages between Dec 4, 2020 and Dec 4, 2020.

replies: 1people: 2as markdown or json

Sofia Syrianidou· Dec 4, 2020, 14:37 UTC · lore

Hello, 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 file 1

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?
Junio C Hamano· Dec 4, 2020, 20:07 UTC · re: Sofia Syrianidou · lore

Re: diff-filter=R can't identify renaming if not done directly

Sofia Syrianidou <sofia.syrianidou@suse.com> writes:
Show 16 quoted lines
> Hello, 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 file 1
>
> 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?

"git diff --diff-filter=r" and "git diff --diff-filter=R" have totally opposite meanings. I expect nothing to be shown if all your changes are renames and you ask to exclude all the renamed filepairs from the output with "--diff-filter=r". In other words, this seems to be working as intended.

Thanks.

← back to recent threads