Merge branch 'en/diffcore-rename'
Performance optimization work on the rename detection continues. * en/diffcore-rename: merge-ort: call diffcore_rename() directly gitdiffcore doc: mention new preliminary step for rename detection diffcore-rename: guide inexact rename detection based on basenames diffcore-rename: complete find_basename_matches() diffcore-rename: compute basenames of source and dest candidates t4001: add a test comparing basename similarity and content similarity diffcore-rename: filter rename_src list when possible diffcore-rename: no point trying to find a match better than exact
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user