Hi Bryan, OK that explains the behavior of git diff, but what about git status? The doc implies it should be able to detect copies in the index / staging area since it has a "C" state. - Pol On Sun, Nov 30, 2014 at 10:03 AM, Bryan Turner <bturner@xxxxxxxxxxxxx> wrote: > Pol, > > By default, -C only finds copies when the source file was also > modified in the same commit. Since you did not modify hello.txt in the > same commit where you copied it to copied.txt, it will not be > considered. > > If you pass -C -C (twice), or use --find-copies-harder, Git will > consider all files in the repository. Note that this can be slower, > which is the reason why it's not the default. > > The documentation for git diff describes the -C (--find-copies) and > --find-copies-harder flags and their limitations. > > Hope this helps, > Bryan Turner > > On Sun, Nov 30, 2014 at 11:35 AM, Pol Online <info@xxxxxxxxxxxxxx> wrote: >> 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 >> -- >> To unsubscribe from this list: send the line "unsubscribe git" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html