Merge branch 'uk/rev-parse-parse-opt'
[gitweb.git] / t / t4150-am.sh
index 5e65afa0c10d02e50c79b550a3c142d8ff1f0674..a12bf846231d18b2a815151d1a0e1ab3d5f491d1 100755 (executable)
@@ -180,6 +180,17 @@ test_expect_success 'am -3 falls back to 3-way merge' '
        test -z "$(git diff lorem)"
 '
 
+test_expect_success 'am -3 -q is quiet' '
+       git reset master2 --hard &&
+       sed -n -e "3,\$p" msg >file &&
+       head -n 9 msg >>file &&
+       git add file &&
+       test_tick &&
+       git commit -m "copied stuff" &&
+       git am -3 -q lorem-move.patch > output.out 2>&1 &&
+       ! test -s output.out
+'
+
 test_expect_success 'am pauses on conflict' '
        git checkout lorem2^^ &&
        test_must_fail git am lorem-move.patch &&
@@ -290,4 +301,34 @@ test_expect_success 'am --ignore-date' '
        echo "$at" | grep "+0000"
 '
 
+test_expect_success 'am into an unborn branch' '
+       rm -fr subdir &&
+       mkdir -p subdir &&
+       git format-patch --numbered-files -o subdir -1 first &&
+       (
+               cd subdir &&
+               git init &&
+               git am 1
+       ) &&
+       result=$(
+               cd subdir && git rev-parse HEAD^{tree}
+       ) &&
+       test "z$result" = "z$(git rev-parse first^{tree})"
+'
+
+test_expect_success 'am newline in subject' '
+       git checkout first &&
+       test_tick &&
+       sed -e "s/second/second \\\n foo/" patch1 > patchnl &&
+       git am < patchnl > output.out 2>&1 &&
+       grep "^Applying: second \\\n foo$" output.out
+'
+
+test_expect_success 'am -q is quiet' '
+       git checkout first &&
+       test_tick &&
+       git am -q < patch1 > output.out 2>&1 &&
+       ! test -s output.out
+'
+
 test_done