Ignore exit code of git push in t5404, as it is not relevant for the test: it already checks whether the references updated correctly. Signed-off-by: Alex Riesen <raa.lkml@xxxxxxxxx> --- This one is on top of what is in next. It also include the check for deleting remote braches I sent before. Regarding this one: if a remote branch is deleted, shouldn't the matching tracking branch be removed as well? The code in master seem to do that. t/t5404-tracking-branches.sh | 29 ++++++++++++++++++++++++++--- 1 files changed, 26 insertions(+), 3 deletions(-) diff --git a/t/t5404-tracking-branches.sh b/t/t5404-tracking-branches.sh index 20718d4..a51bbdc 100755 --- a/t/t5404-tracking-branches.sh +++ b/t/t5404-tracking-branches.sh @@ -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 && @@ -19,10 +20,13 @@ test_expect_success 'setup' ' git commit -a -m b2 ' +start_dir="$(pwd)" + test_expect_success 'check tracking branches updated correctly after push' ' cd aa && b1=$(git rev-parse origin/b1) && b2=$(git rev-parse origin/b2) && + b3=$(git rev-parse origin/b3) && git checkout -b b1 origin/b1 && echo aa-b1 >>file && git commit -a -m aa-b1 && @@ -32,9 +36,28 @@ test_expect_success 'check tracking branches updated correctly after push' ' git checkout master && echo aa-master >>file && git commit -a -m aa-master && - git push && - test "$(git rev-parse origin/b1)" = "$b1" && - test "$(git rev-parse origin/b2)" = "$b2" + { + git push + test "$(git rev-parse origin/b1)" = "$b1" && + test "$(git rev-parse origin/b2)" = "$b2" && + test "$(git rev-parse origin/b3)" = "$b3" && + test "$(git rev-parse origin/master)" = \ + "$(git rev-parse master)" + } +' + +test_expect_success 'delete remote branch' ' + git push origin :refs/heads/b3 + { + git rev-parse origin/b3 + test $? != 0 || \ + say "Hmm... Maybe tracking ref should be deleted?" + } && + cd "$start_dir" && + { + git rev-parse refs/heads/b3 + test $? != 0 + } ' test_done - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html