checkout -m path: fix recreating conflicts
[gitweb.git] / t / t9001-send-email.sh
index 3e4eb63f1c4d63d6ff38c79ff1f7a47fa3aa1597..cb3d1837709fbce30fc508e339ce671c55eb9a1b 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-test_description='git-send-email'
+test_description='git send-email'
 . ./test-lib.sh
 
 PROG='git send-email'
@@ -13,7 +13,7 @@ test_expect_success \
 
 test_expect_success \
     'Setup helper tool' \
-    '(echo "#!/bin/sh"
+    '(echo "#!$SHELL_PATH"
       echo shift
       echo output=1
       echo "while test -f commandline\$output; do output=\$((\$output+1)); done"
@@ -91,7 +91,7 @@ test_expect_success 'reject long lines' '
        clean_fake_sendmail &&
        cp $patches longline.patch &&
        echo $z512$z512 >>longline.patch &&
-       ! git send-email \
+       test_must_fail git send-email \
                --from="Example <nobody@example.com>" \
                --to=nobody@example.com \
                --smtp-server="$(pwd)/fake.sendmail" \
@@ -109,7 +109,7 @@ test_expect_success 'allow long lines with --no-validate' '
                --from="Example <nobody@example.com>" \
                --to=nobody@example.com \
                --smtp-server="$(pwd)/fake.sendmail" \
-               --no-validate \
+               --novalidate \
                $patches longline.patch \
                2>errors
 '
@@ -138,7 +138,7 @@ test_expect_success 'Valid In-Reply-To when prompting' '
 '
 
 test_expect_success 'setup fake editor' '
-       (echo "#!/bin/sh" &&
+       (echo "#!$SHELL_PATH" &&
         echo "echo fake edit >>\"\$1\""
        ) >fake-editor &&
        chmod +x fake-editor
@@ -235,7 +235,7 @@ test_expect_success 'sendemail.cc unset' '
 
 test_expect_success '--compose adds MIME for utf8 body' '
        clean_fake_sendmail &&
-       (echo "#!/bin/sh" &&
+       (echo "#!$SHELL_PATH" &&
         echo "echo utf8 body: àéìöú >>\"\$1\""
        ) >fake-editor-utf8 &&
        chmod +x fake-editor-utf8 &&
@@ -254,7 +254,7 @@ test_expect_success '--compose adds MIME for utf8 body' '
 
 test_expect_success '--compose respects user mime type' '
        clean_fake_sendmail &&
-       (echo "#!/bin/sh" &&
+       (echo "#!$SHELL_PATH" &&
         echo "(echo MIME-Version: 1.0"
         echo " echo Content-Type: text/plain\\; charset=iso-8859-1"
         echo " echo Content-Transfer-Encoding: 8bit"
@@ -292,4 +292,25 @@ test_expect_success '--compose adds MIME for utf8 subject' '
        grep "^Subject: =?utf-8?q?utf8-s=C3=BCbj=C3=ABct?=" msgtxt1
 '
 
+test_expect_success 'detects ambiguous reference/file conflict' '
+       echo master > master &&
+       git add master &&
+       git commit -m"add master" &&
+       test_must_fail git send-email --dry-run master 2>errors &&
+       grep disambiguate errors
+'
+
+test_expect_success 'feed two files' '
+       rm -fr outdir &&
+       git format-patch -2 -o outdir &&
+       GIT_SEND_EMAIL_NOTTY=1 git send-email \
+       --dry-run \
+       --from="Example <nobody@example.com>" \
+       --to=nobody@example.com \
+       outdir/000?-*.patch 2>errors >out &&
+       grep "^Subject: " out >subjects &&
+       test "z$(sed -n -e 1p subjects)" = "zSubject: [PATCH 1/2] Second." &&
+       test "z$(sed -n -e 2p subjects)" = "zSubject: [PATCH 2/2] add master"
+'
+
 test_done