1#!/bin/sh 2# 3# Copyright (c) 2005 Junio C Hamano 4# 5 6test_description='More rename detection tests. 7 8The rename detection logic should be able to detect pure rename or 9copy of symbolic links, but should not produce rename/copy followed 10by an edit for them. 11' 12. ./test-lib.sh 13. ../diff-lib.sh 14 15test_expect_success \ 16'prepare reference tree' \ 17'echo xyzzy | tr -d '\\\\'012 >yomin && 18 ln -s xyzzy frotz && 19 git-update-index --add frotz yomin && 20 tree=$(git-write-tree)&& 21 echo$tree' 22 23test_expect_success \ 24'prepare work tree' \ 25'mv frotz rezrov && 26 rm -f yomin && 27 ln -s xyzzy nitfol && 28 ln -s xzzzy bozbar && 29 git-update-index --add --remove frotz rezrov nitfol bozbar yomin' 30 31# tree has frotz pointing at xyzzy, and yomin that contains xyzzy to 32# confuse things. work tree has rezrov (xyzzy) nitfol (xyzzy) and 33# bozbar (xzzzy). 34# rezrov and nitfol are rename/copy of frotz and bozbar should be 35# a new creation. 36 37GIT_DIFF_OPTS=--unified=0 git-diff-index -M -p$tree>current 38cat>expected <<\EOF 39diff--git a/bozbar b/bozbar 40new file mode 120000 41---/dev/null 42+++ b/bozbar 43@@ -0,0+1 @@ 44+xzzzy 45\ No newline at end of file 46diff--git a/frotz b/nitfol 47similarity index 100% 48copy from frotz 49copy to nitfol 50diff--git a/frotz b/rezrov 51similarity index 100% 52rename from frotz 53rename to rezrov 54diff--git a/yomin b/yomin 55deleted file mode 100644 56--- a/yomin 57+++ /dev/null 58@@ -1+0,0 @@ 59-xyzzy 60\ No newline at end of file 61EOF 62 63test_expect_success \ 64'validate diff output' \ 65'compare_diff_patch current expected' 66 67test_done