2005-05-23 12:24:49 +08:00
|
|
|
#!/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
|
2008-08-08 17:26:28 +08:00
|
|
|
. "$TEST_DIRECTORY"/diff-lib.sh
|
2005-05-23 12:24:49 +08:00
|
|
|
|
2009-03-05 05:38:24 +08:00
|
|
|
if ! test_have_prereq SYMLINKS
|
|
|
|
then
|
2010-06-25 01:44:48 +08:00
|
|
|
skip_all='Symbolic links not supported, skipping tests.'
|
2009-03-05 05:38:24 +08:00
|
|
|
test_done
|
|
|
|
fi
|
|
|
|
|
2005-05-23 12:24:49 +08:00
|
|
|
test_expect_success \
|
|
|
|
'prepare reference tree' \
|
|
|
|
'echo xyzzy | tr -d '\\\\'012 >yomin &&
|
|
|
|
ln -s xyzzy frotz &&
|
2007-07-03 13:52:14 +08:00
|
|
|
git update-index --add frotz yomin &&
|
|
|
|
tree=$(git write-tree) &&
|
2005-05-23 12:24:49 +08:00
|
|
|
echo $tree'
|
|
|
|
|
|
|
|
test_expect_success \
|
|
|
|
'prepare work tree' \
|
|
|
|
'mv frotz rezrov &&
|
|
|
|
rm -f yomin &&
|
|
|
|
ln -s xyzzy nitfol &&
|
|
|
|
ln -s xzzzy bozbar &&
|
2007-07-03 13:52:14 +08:00
|
|
|
git update-index --add --remove frotz rezrov nitfol bozbar yomin'
|
2005-05-23 12:24:49 +08:00
|
|
|
|
|
|
|
# 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.
|
|
|
|
|
2007-07-03 13:52:14 +08:00
|
|
|
GIT_DIFF_OPTS=--unified=0 git diff-index -M -p $tree >current
|
2005-05-23 12:24:49 +08:00
|
|
|
cat >expected <<\EOF
|
2005-05-24 16:10:48 +08:00
|
|
|
diff --git a/bozbar b/bozbar
|
|
|
|
new file mode 120000
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/bozbar
|
|
|
|
@@ -0,0 +1 @@
|
|
|
|
+xzzzy
|
|
|
|
\ No newline at end of file
|
2005-05-23 12:24:49 +08:00
|
|
|
diff --git a/frotz b/nitfol
|
|
|
|
similarity index 100%
|
|
|
|
copy from frotz
|
|
|
|
copy to nitfol
|
|
|
|
diff --git a/frotz b/rezrov
|
|
|
|
similarity index 100%
|
2005-06-06 06:31:52 +08:00
|
|
|
rename from frotz
|
|
|
|
rename to rezrov
|
2005-05-23 12:24:49 +08:00
|
|
|
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' \
|
2005-10-07 18:42:00 +08:00
|
|
|
'compare_diff_patch current expected'
|
2005-05-23 12:24:49 +08:00
|
|
|
|
|
|
|
test_done
|