summaryrefslogtreecommitdiff
path: root/t/t5404-tracking-branches.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2007-11-17 12:54:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-11-17 20:10:50 (GMT)
commit8736a8489080509516f5f4cc1cc74de33150f397 (patch)
treecb3423ab9457c718629f9d4ef2a860fc10b041ec /t/t5404-tracking-branches.sh
parentbcd2e266a6270254212603e90186251116d3cd16 (diff)
downloadgit-8736a8489080509516f5f4cc1cc74de33150f397.zip
git-8736a8489080509516f5f4cc1cc74de33150f397.tar.gz
git-8736a8489080509516f5f4cc1cc74de33150f397.tar.bz2
send-pack: track errors for each ref
Instead of keeping the 'ret' variable, we instead have a status flag for each ref that tracks what happened to it. We then print the ref status after all of the refs have been examined. This paves the way for three improvements: - updating tracking refs only for non-error refs - incorporating remote rejection into the printed status - printing errors in a different order than we processed (e.g., consolidating non-ff errors near the end with a special message) Signed-off-by: Jeff King <peff@peff.net> Acked-by: Alex Riesen <raa.lkml@gmail.com> Acked-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5404-tracking-branches.sh')
-rwxr-xr-xt/t5404-tracking-branches.sh14
1 files changed, 11 insertions, 3 deletions
diff --git a/t/t5404-tracking-branches.sh b/t/t5404-tracking-branches.sh
index 20718d4..799e47e 100755
--- a/t/t5404-tracking-branches.sh
+++ b/t/t5404-tracking-branches.sh
@@ -19,7 +19,7 @@ test_expect_success 'setup' '
git commit -a -m b2
'
-test_expect_success 'check tracking branches updated correctly after push' '
+test_expect_success 'prepare pushable branches' '
cd aa &&
b1=$(git rev-parse origin/b1) &&
b2=$(git rev-parse origin/b2) &&
@@ -31,8 +31,16 @@ test_expect_success 'check tracking branches updated correctly after push' '
git commit -a -m aa-b2 &&
git checkout master &&
echo aa-master >>file &&
- git commit -a -m aa-master &&
- git push &&
+ git commit -a -m aa-master
+'
+
+test_expect_success 'mixed-success push returns error' '! git push'
+
+test_expect_success 'check tracking branches updated correctly after push' '
+ test "$(git rev-parse origin/master)" = "$(git rev-parse master)"
+'
+
+test_expect_success 'check tracking branches not updated for failed refs' '
test "$(git rev-parse origin/b1)" = "$b1" &&
test "$(git rev-parse origin/b2)" = "$b2"
'