Fix make_absolute_path() for parameters without a slash
[gitweb.git] / t / t4001-diff-rename.sh
old mode 100644 (file)
new mode 100755 (executable)
index 065ddb7..a326924
@@ -7,6 +7,7 @@ test_description='Test rename detection in diff engine.
 
 '
 . ./test-lib.sh
+. ../diff-lib.sh
 
 echo >path0 'Line 1
 Line 2
@@ -26,26 +27,26 @@ Line 15
 '
 
 test_expect_success \
-    'update-cache --add a file.' \
-    'git-update-cache --add path0'
+    'update-index --add a file.' \
+    'git update-index --add path0'
 
 test_expect_success \
     'write that tree.' \
-    'tree=$(git-write-tree)'
+    'tree=$(git write-tree) && echo $tree'
 
 sed -e 's/line/Line/' <path0 >path1
 rm -f path0
 test_expect_success \
     'renamed and edited the file.' \
-    'git-update-cache --add --remove path0 path1'
+    'git update-index --add --remove path0 path1'
 
 test_expect_success \
-    'git-diff-cache -p -M after rename and editing.' \
-    'git-diff-cache -p -M $tree >current'
+    'git diff-index -p -M after rename and editing.' \
+    'git diff-index -p -M $tree >current'
 cat >expected <<\EOF
 diff --git a/path0 b/path1
-rename old path0
-rename new path1
+rename from path0
+rename to path1
 --- a/path0
 +++ b/path1
 @@ -8,7 +8,7 @@ Line 7
@@ -61,6 +62,19 @@ EOF
 
 test_expect_success \
     'validate the output.' \
-    'diff -I "rename similarity.*" >/dev/null current expected'
+    'compare_diff_patch current expected'
+
+test_expect_success 'favour same basenames over different ones' '
+       cp path1 another-path &&
+       git add another-path &&
+       git commit -m 1 &&
+       git rm path1 &&
+       mkdir subdir &&
+       git mv another-path subdir/path1 &&
+       git status | grep "renamed: .*path1 -> subdir/path1"'
+
+test_expect_success  'favour same basenames even with minor differences' '
+       git show HEAD:path1 | sed "s/15/16/" > subdir/path1 &&
+       git status | grep "renamed: .*path1 -> subdir/path1"'
 
 test_done