git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: rename tracking and file-name swapping

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 13, 2009, 18:14 UTC
Message-ID
<7viqfmsoej.fsf@alter.siamese.dyndns.org>
In-Reply-To
<wavexx-2ECE7F.13171313092009@ger.gmane.org>
Yuri D'Elia <wavexx@users.sf.net> writes:
Show 14 quoted lines
> Hi everyone. Does rename tracking recognize two file names being swapped?
>
> % ls -l
> total 24
> -rw-rw-r--   1 wavexx  wavexx  5952 Sep 13 13:09 file1.txt
> -rw-rw-r--   1 wavexx  wavexx  3330 Sep 13 13:09 file2.txt
> % mv file1.txt file3.txt 
> % mv file2.txt file1.txt
> % mv file3.txt file2.txt
> % git add file1.txt file2.txt 
> % git diff -M --stat --cached
>  file1.txt |  150 +++++++++++++++++++++++-------------------------------------
>  file2.txt |  150 +++++++++++++++++++++++++++++++++++++-----------------------
>  2 files changed, 150 insertions(+), 150 deletions(-)

By default, if the pathname that was present in the old version still appears in the new version, that path is not considered as a candiate for rename detection. Only "X used to be there but is gone" and "Y did not exist but appeared" are paired up and checked if they are similar.

Give the command -B option, too, to break the filepair that does not disappear.

Previous: Yuri D'EliaNext: Yuri D'Elia
Message 2 of 7 in “rename tracking and file-name swapping”
  1. Yuri D'EliaSep 13, 2009
  2. Junio C HamanoSep 13, 2009
  3. Yuri D'EliaSep 13, 2009
  4. Johannes SixtSep 14, 2009
  5. [Bug?] "diff -B --color" output doesn't show space errorsNanako Shiraishi, Sep 15, 2009
  6. Junio C HamanoSep 15, 2009
  7. diff --whitespace: fix blank lines at endJunio C Hamano, Sep 15, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.