diff options
author | Junio C Hamano <junkio@cox.net> | 2005-05-29 16:54:59 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-30 10:35:49 -0700 |
commit | ddafa7e93325d45cd4bd950dd8e89ff3188d0250 (patch) | |
tree | 61db38734c639c161a70781c9e56a790eb5d8ac0 /t/t4005-diff-rename-2.sh | |
parent | cad88fdf8d1ebafb5d4d1b92eb243ff86bae740b (diff) | |
download | git-ddafa7e93325d45cd4bd950dd8e89ff3188d0250.tar.gz git-ddafa7e93325d45cd4bd950dd8e89ff3188d0250.tar.xz |
[PATCH] diff-helper: Fix R/C score parsing under -z flag.
The score number that follow R/C status were parsed but the
parse pointer was not updated, causing the entire line to become
unrecognized. This patch fixes this problem.
There was a test missing to catch this breakage, which this
commit adds as t4009-diff-rename-4.sh. The diff-raw tests used
in related t4005-diff-rename-2.sh (the same test without -z) and
t4007-rename-3.sh were stricter than necessarily, despite that
the comment for the tests said otherwise. This patch also
corrects them.
The documentation is updated to say that the status can
optionally be followed by a number called "score"; it does not
have to stay similarity index forever and there is no reason to
limit it only to C and R.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 't/t4005-diff-rename-2.sh')
-rw-r--r-- | t/t4005-diff-rename-2.sh | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/t/t4005-diff-rename-2.sh b/t/t4005-diff-rename-2.sh index a51985518..5ac29d1f9 100644 --- a/t/t4005-diff-rename-2.sh +++ b/t/t4005-diff-rename-2.sh @@ -8,11 +8,17 @@ test_description='Same rename detection as t4003 but testing diff-raw. ' . ./test-lib.sh +_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]' +_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40" +sanitize_diff_raw='s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]* / X X \1# /' compare_diff_raw () { # When heuristics are improved, the score numbers would change. # Ignore them while comparing. - sed -e 's/ \([CR]\)[0-9]* /\1#/' <"$1" >.tmp-1 - sed -e 's/ \([CR]\)[0-9]* /\1#/' <"$2" >.tmp-2 + # Also we do not check SHA1 hash generation in this test, which + # is a job for t0000-basic.sh + + sed -e "$sanitize_diff_raw" <"$1" >.tmp-1 + sed -e "$sanitize_diff_raw" <"$2" >.tmp-2 diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2 } @@ -109,11 +115,6 @@ test_expect_success \ 'validate output from rename/copy detection (#2)' \ 'compare_diff_raw current expected' -test_expect_success \ - 'prepare work tree once again' \ - 'cat ../../COPYING >COPYING && - git-update-cache --add --remove COPYING COPYING.1' - # make sure diff-helper can grok it. mv expected diff-raw GIT_DIFF_OPTS=--unified=0 git-diff-helper <diff-raw >current @@ -151,6 +152,11 @@ test_expect_success \ # anything about rezrov nor COPYING, since the revised again diff-raw # nows how to say Copy. +test_expect_success \ + 'prepare work tree once again' \ + 'cat ../../COPYING >COPYING && + git-update-cache --add --remove COPYING COPYING.1' + git-diff-cache -C $tree >current cat >expected <<\EOF :100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234 COPYING COPYING.1 |