aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-07-22 13:04:25 -0700
committerJunio C Hamano <gitster@pobox.com>2012-07-22 13:04:25 -0700
commitb120079113c62cf52a23e0d84760b5405bcf6b2e (patch)
tree0e8207135262390f383d8c23e9ed72df39dfa6fb
parent7046e7582121a8b7b9d126b492cb439631843444 (diff)
parent5742c82ba76b6526639f08b5c7554fd15271087e (diff)
downloadgit-b120079113c62cf52a23e0d84760b5405bcf6b2e.tar.gz
git-b120079113c62cf52a23e0d84760b5405bcf6b2e.tar.xz
Merge branch 'jk/push-delete-ref-error-message' into maint
The error message from "git push $there :bogo" (and its equivalent "git push $there --delete bogo") mentioned that we tried and failed to guess what ref is being deleted based on the LHS of the refspec, which we don't. * jk/push-delete-ref-error-message: push: don't guess at qualifying remote refs on deletion
-rw-r--r--remote.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/remote.c b/remote.c
index 683353882..04fd9ea4b 100644
--- a/remote.c
+++ b/remote.c
@@ -1100,6 +1100,9 @@ static int match_explicit(struct ref *src, struct ref *dst,
case 0:
if (!memcmp(dst_value, "refs/", 5))
matched_dst = make_linked_ref(dst_value, dst_tail);
+ else if (is_null_sha1(matched_src->new_sha1))
+ error("unable to delete '%s': remote ref does not exist",
+ dst_value);
else if ((dst_guess = guess_ref(dst_value, matched_src)))
matched_dst = make_linked_ref(dst_guess, dst_tail);
else