pretty: --format output should honor logOutputEncoding
[gitweb.git] / t / t6020-merge-df.sh
index bc9db1a0f0826b030abf8d275de2c252f36d1fd1..27c3d73961dfc9b50c3eafc7360662076cb31260 100755 (executable)
@@ -24,7 +24,7 @@ test_expect_success 'prepare repository' '
 '
 
 test_expect_success 'Merge with d/f conflicts' '
-       test_must_fail git merge master
+       test_expect_code 1 git merge "merge msg" B master
 '
 
 test_expect_success 'F/D conflict' '
@@ -59,41 +59,51 @@ test_expect_success 'setup modify/delete + directory/file conflict' '
        git add letters &&
        git commit -m initial &&
 
+       # Throw in letters.txt for sorting order fun
+       # ("letters.txt" sorts between "letters" and "letters/file")
        echo i >>letters &&
-       git add letters &&
+       echo "version 2" >letters.txt &&
+       git add letters letters.txt &&
        git commit -m modified &&
 
        git checkout -b delete HEAD^ &&
        git rm letters &&
        mkdir letters &&
        >letters/file &&
-       git add letters &&
+       echo "version 1" >letters.txt &&
+       git add letters letters.txt &&
        git commit -m deleted
 '
 
-test_expect_failure 'modify/delete + directory/file conflict' '
+test_expect_success 'modify/delete + directory/file conflict' '
        git checkout delete^0 &&
        test_must_fail git merge modify &&
 
-       test 3 = $(git ls-files -s | wc -l) &&
-       test 2 = $(git ls-files -u | wc -l) &&
-       test 1 = $(git ls-files -o | wc -l) &&
+       test 5 -eq $(git ls-files -s | wc -l) &&
+       test 4 -eq $(git ls-files -u | wc -l) &&
+       test 1 -eq $(git ls-files -o | wc -l) &&
 
        test -f letters/file &&
+       test -f letters.txt &&
        test -f letters~modify
 '
 
-test_expect_failure 'modify/delete + directory/file conflict; other way' '
+test_expect_success 'modify/delete + directory/file conflict; other way' '
+       # Yes, we really need the double reset since "letters" appears as
+       # both a file and a directory.
+       git reset --hard &&
        git reset --hard &&
        git clean -f &&
        git checkout modify^0 &&
+
        test_must_fail git merge delete &&
 
-       test 3 = $(git ls-files -s | wc -l) &&
-       test 2 = $(git ls-files -u | wc -l) &&
-       test 1 = $(git ls-files -o | wc -l) &&
+       test 5 -eq $(git ls-files -s | wc -l) &&
+       test 4 -eq $(git ls-files -u | wc -l) &&
+       test 1 -eq $(git ls-files -o | wc -l) &&
 
        test -f letters/file &&
+       test -f letters.txt &&
        test -f letters~HEAD
 '