#!/bin/sh # # Copyright (c) 2005 Junio C Hamano # test_description='More rename detection tests. The rename detection logic should be able to detect pure rename or copy of symbolic links, but should not produce rename/copy followed by an edit for them. ' . ./test-lib.sh . ../diff-lib.sh test_expect_success \ 'prepare reference tree' \ 'echo xyzzy | tr -d '\\\\'012 >yomin && ln -s xyzzy frotz && git update-index --add frotz yomin && tree=$(git write-tree) && echo $tree' test_expect_success \ 'prepare work tree' \ 'mv frotz rezrov && rm -f yomin && ln -s xyzzy nitfol && ln -s xzzzy bozbar && git update-index --add --remove frotz rezrov nitfol bozbar yomin' # tree has frotz pointing at xyzzy, and yomin that contains xyzzy to # confuse things. work tree has rezrov (xyzzy) nitfol (xyzzy) and # bozbar (xzzzy). # rezrov and nitfol are rename/copy of frotz and bozbar should be # a new creation. GIT_DIFF_OPTS=--unified=0 git diff-index -M -p $tree >current cat >expected <<\EOF diff --git a/bozbar b/bozbar new file mode 120000 --- /dev/null +++ b/bozbar @@ -0,0 +1 @@ +xzzzy \ No newline at end of file diff --git a/frotz b/nitfol similarity index 100% copy from frotz copy to nitfol diff --git a/frotz b/rezrov similarity index 100% rename from frotz rename to rezrov diff --git a/yomin b/yomin deleted file mode 100644 --- a/yomin +++ /dev/null @@ -1 +0,0 @@ -xyzzy \ No newline at end of file EOF test_expect_success \ 'validate diff output' \ 'compare_diff_patch current expected' test_done