Introduce remove_or_warn function
[gitweb.git] / t / t5404-tracking-branches.sh
index 1493a92c06d041e502bcc08a1cee95e6758f1775..c24003565d635722f07333bb662c8e102d577c9e 100755 (executable)
@@ -10,6 +10,7 @@ test_expect_success 'setup' '
        git commit -m 1 &&
        git branch b1 &&
        git branch b2 &&
+       git branch b3 &&
        git clone . aa &&
        git checkout b1 &&
        echo b1 >>file &&
@@ -34,7 +35,9 @@ test_expect_success 'prepare pushable branches' '
        git commit -a -m aa-master
 '
 
-test_expect_success 'mixed-success push returns error' '! git push'
+test_expect_success 'mixed-success push returns error' '
+       test_must_fail git push
+'
 
 test_expect_success 'check tracking branches updated correctly after push' '
        test "$(git rev-parse origin/master)" = "$(git rev-parse master)"
@@ -50,4 +53,10 @@ test_expect_success 'deleted branches have their tracking branches removed' '
        test "$(git rev-parse origin/b1)" = "origin/b1"
 '
 
+test_expect_success 'already deleted tracking branches ignored' '
+       git branch -d -r origin/b3 &&
+       git push origin :b3 >output 2>&1 &&
+       ! grep error output
+'
+
 test_done