status: update short status to respect --no-ahead-behind
[gitweb.git] / t / t6037-merge-ours-theirs.sh
index 08c9f7989a578d57a3c0f868786fa6b4cc2bf777..3889eca4ae8524cd62eaf45b4d7a2394e53da429 100755 (executable)
@@ -53,4 +53,24 @@ test_expect_success 'recursive favouring ours' '
        ! grep 1 file
 '
 
+test_expect_success 'binary file with -Xours/-Xtheirs' '
+       echo file binary >.gitattributes &&
+
+       git reset --hard master &&
+       git merge -s recursive -X theirs side &&
+       git diff --exit-code side HEAD -- file &&
+
+       git reset --hard master &&
+       git merge -s recursive -X ours side &&
+       git diff --exit-code master HEAD -- file
+'
+
+test_expect_success 'pull passes -X to underlying merge' '
+       git reset --hard master && git pull -s recursive -Xours . side &&
+       git reset --hard master && git pull -s recursive -X ours . side &&
+       git reset --hard master && git pull -s recursive -Xtheirs . side &&
+       git reset --hard master && git pull -s recursive -X theirs . side &&
+       git reset --hard master && test_must_fail git pull -s recursive -X bork . side
+'
+
 test_done