test_expect_success \
'prepare reference tree' \
'cat ../../COPYING >COPYING &&
- git-update-cache --add COPYING &&
+ echo frotz >rezrov &&
+ git-update-cache --add COPYING rezrov &&
tree=$(git-write-tree) &&
echo $tree'
rm -f COPYING &&
git-update-cache --add --remove COPYING COPYING.?'
-GIT_DIFF_OPTS=-u0 git-diff-cache -M $tree |
+# tree has COPYING and rezrov. work tree has COPYING.1 and COPYING.2,
+# both are slightly edited, and unchanged rezrov. So we say you
+# copy-and-edit one, and rename-and-edit the other. We do not say
+# anything about rezrov.
+
+GIT_DIFF_OPTS=--unified=0 git-diff-cache -M -p $tree |
sed -e 's/\([0-9][0-9]*\)/#/g' >current &&
cat >expected <<\EOF
diff --git a/COPYING b/COPYING.#
test_expect_success \
'prepare work tree again' \
'mv COPYING.2 COPYING &&
- git-update-cache --add --remove COPYING COPYING.1'
+ git-update-cache --add --remove COPYING COPYING.1 COPYING.2'
-GIT_DIFF_OPTS=-u0 git-diff-cache -C $tree |
+# tree has COPYING and rezrov. work tree has COPYING and COPYING.1,
+# both are slightly edited, and unchanged rezrov. So we say you
+# edited one, and copy-and-edit the other. We do not say
+# anything about rezrov.
+
+GIT_DIFF_OPTS=--unified=0 git-diff-cache -C -p $tree |
sed -e 's/\([0-9][0-9]*\)/#/g' >current
cat >expected <<\EOF
diff --git a/COPYING b/COPYING.#
'validate output from rename/copy detection' \
'diff -u current expected'
+test_expect_success \
+ 'prepare work tree once again' \
+ 'cat ../../COPYING >COPYING &&
+ git-update-cache --add --remove COPYING COPYING.1'
+
+# tree has COPYING and rezrov. work tree has COPYING and COPYING.1,
+# but COPYING is not edited. We say you copy-and-edit COPYING.1; this
+# is only possible because -C mode now reports the unmodified file to
+# the diff-core. Unchanged rezrov, although being fed to
+# git-diff-cache as well, should not be mentioned.
+
+GIT_DIFF_OPTS=--unified=0 git-diff-cache -C -p $tree |
+sed -e 's/\([0-9][0-9]*\)/#/g' >current
+cat >expected <<\EOF
+diff --git a/COPYING b/COPYING.#
+similarity index #%
+copy from COPYING
+copy to COPYING.#
+--- a/COPYING
++++ b/COPYING.#
+@@ -# +# @@
+- HOWEVER, in order to allow a migration to GPLv# if that seems like
++ However, in order to allow a migration to GPLv# if that seems like
+EOF
+
+test_expect_success \
+ 'validate output from rename/copy detection' \
+ 'diff -u current expected'
+
test_done