]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t4001-diff-rename.sh
Merge branch 'en/ort-perf-batch-9'
[thirdparty/git.git] / t / t4001-diff-rename.sh
index 2f9700742aa2fb93385fc7fa83f23f2c8640b31d..68f2ebca58a3213fa438a792510efab84d71871a 100755 (executable)
@@ -262,4 +262,28 @@ test_expect_success 'diff-tree -l0 defaults to a big rename limit, not zero' '
        grep "myotherfile.*myfile" actual
 '
 
+test_expect_success 'basename similarity vs best similarity' '
+       mkdir subdir &&
+       test_write_lines line1 line2 line3 line4 line5 \
+                        line6 line7 line8 line9 line10 >subdir/file.txt &&
+       git add subdir/file.txt &&
+       git commit -m "base txt" &&
+
+       git rm subdir/file.txt &&
+       test_write_lines line1 line2 line3 line4 line5 \
+                         line6 line7 line8 >file.txt &&
+       test_write_lines line1 line2 line3 line4 line5 \
+                         line6 line7 line8 line9 >file.md &&
+       git add file.txt file.md &&
+       git commit -a -m "rename" &&
+       git diff-tree -r -M --name-status HEAD^ HEAD >actual &&
+       # subdir/file.txt is 88% similar to file.md, 78% similar to file.txt,
+       # but since same basenames are checked first...
+       cat >expected <<-\EOF &&
+       A       file.md
+       R078    subdir/file.txt file.txt
+       EOF
+       test_cmp expected actual
+'
+
 test_done