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

git status / git diff -C not detecting file copy

From
POPol Online <info@pol-online.net>
Date
Nov 30, 2014, 00:35 UTC
Message-ID
<CAJxwDJzzNV77cTP4nbzgCvFjjqp3C4X8d3j6uwhYvK4+g4r1YQ@mail.gmail.com>
Hi,

The documentation for git status at http://git-scm.com/docs/git-status implies that it should be able to detect both renames and copies (with the R and C states). The command git diff -C should do it as well.

However I can't get either to detect copies in this simple test case - what is happening?

mkdir test cd test/ git init echo 'Hello World!' > hello.txt echo 'Goodbye World!' > goodbye.txt git add -A git commit -m "Initial commit"

cp hello.txt copied.txt mv goodbye.txt moved.txt git add -A

$ git status --short A copied.txt <------------ NO COPY DETECTED R goodbye.txt -> moved.txt

$ git diff -M -C --summary --cached
 create mode 100644 copied.txt  <------------ NO COPY DETECTED
 rename goodbye.txt => moved.txt (100%)
$ git commit -m Test
$ git diff -M -C --summary HEAD~
  create mode 100644 copied.txt  <------------ NO COPY DETECTED
  rename goodbye.txt => moved.txt (100%)
-Pol
Next: Bryan Turner
Message 1 of 12 in “git status / git diff -C not detecting file copy”
  1. Pol OnlineNov 30, 2014
  2. Bryan TurnerNov 30, 2014
  3. Pol OnlineNov 30, 2014
  4. Bryan TurnerNov 30, 2014
  5. Jeff KingDec 2, 2014
  6. Pol OnlineDec 2, 2014
  7. Junio C HamanoDec 2, 2014
  8. Jeff KingDec 2, 2014
  9. Junio C HamanoDec 3, 2014
  10. Bryan TurnerDec 2, 2014
  11. Jeff KingDec 2, 2014
  12. Junio C HamanoDec 3, 2014

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.