Merge branch 'jc/rerere'
[gitweb.git] / t / t4200-rerere.sh
index 3cbfee704e6238eb31fa1b519567fb064ca27ad8..a64727d5ad00cb222e3020b6702e4f89e212039c 100755 (executable)
@@ -101,7 +101,7 @@ cat > expect << EOF
 EOF
 git rerere diff > out
 
-test_expect_success 'rerere diff' 'git diff expect out'
+test_expect_success 'rerere diff' 'test_cmp expect out'
 
 cat > expect << EOF
 a1
@@ -109,7 +109,7 @@ EOF
 
 git rerere status > out
 
-test_expect_success 'rerere status' 'git diff expect out'
+test_expect_success 'rerere status' 'test_cmp expect out'
 
 test_expect_success 'commit succeeds' \
        "git commit -q -a -m 'prefer first over second'"
@@ -126,7 +126,7 @@ test_expect_success 'another conflicting merge' '
 git show first:a1 | sed 's/To die: t/To die! T/' > expect
 test_expect_success 'rerere kicked in' "! grep ======= a1"
 
-test_expect_success 'rerere prefers first change' 'git diff a1 expect'
+test_expect_success 'rerere prefers first change' 'test_cmp a1 expect'
 
 rm $rr/postimage
 echo "$sha1    a1" | perl -pe 'y/\012/\000/' > .git/rr-cache/MERGE_RR
@@ -193,9 +193,19 @@ test_expect_success 'resolution was recorded properly' '
        echo Bello > file3 &&
        git add file3 &&
        git commit -m version2 &&
-       ! git merge fifth &&
-       git diff-files -q &&
-       test Cello = "$(cat file3)"
+       git tag version2 &&
+       test_must_fail git merge fifth &&
+       test Cello = "$(cat file3)" &&
+       test 0 != $(git ls-files -u | wc -l)
+'
+
+test_expect_success 'rerere.autoupdate' '
+       git config rerere.autoupdate true
+       git reset --hard &&
+       git checkout version2 &&
+       test_must_fail git merge fifth &&
+       test 0 = $(git ls-files -u | wc -l)
+
 '
 
 test_done