transport-helper: fix remote helper namespace regression

Commit 664059f (transport-helper: update remote helper namespace)
updates the namespace when the push succeeds or not; we should do it
only when it succeeded.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Felipe Contreras 2013-05-10 07:08:30 -05:00 committed by Junio C Hamano
parent d6ae7b2d36
commit 126aac5cf3
3 changed files with 21 additions and 2 deletions

View File

@ -97,7 +97,12 @@ do
while read ref a b
do
test $a == $b && continue
echo "ok $ref"
if test -z "$GIT_REMOTE_TESTGIT_PUSH_ERROR"
then
echo "ok $ref"
else
echo "error $ref $GIT_REMOTE_TESTGIT_PUSH_ERROR"
fi
done
echo

View File

@ -167,6 +167,20 @@ test_expect_success 'push update refs' '
)
'
test_expect_success 'push update refs failure' '
(cd local &&
git checkout update &&
echo "update fail" >>file &&
git commit -a -m "update fail" &&
git rev-parse --verify testgit/origin/heads/update >expect &&
GIT_REMOTE_TESTGIT_PUSH_ERROR="non-fast forward" &&
export GIT_REMOTE_TESTGIT_PUSH_ERROR &&
test_expect_code 1 git push origin update &&
git rev-parse --verify testgit/origin/heads/update >actual &&
test_cmp expect actual
)
'
test_expect_success 'proper failure checks for fetching' '
(GIT_REMOTE_TESTGIT_FAILURE=1 &&
export GIT_REMOTE_TESTGIT_FAILURE &&

View File

@ -701,7 +701,7 @@ static int push_update_ref_status(struct strbuf *buf,
(*ref)->status = status;
(*ref)->remote_status = msg;
return 0;
return !(status == REF_STATUS_OK);
}
static void push_update_refs_status(struct helper_data *data,