Re: [PATCH] push: don't guess at qualifying remote refs on deletion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 03, 2012 at 12:38:10PM -0700, Junio C Hamano wrote:

> Jeff King <peff@xxxxxxxx> writes:
> 
> > Instead, we can just be more succinct and say "we can't
> > delete this because we couldn't find it". So before:
> >
> >   $ git push origin :bogus
> >   error: unable to push to unqualified destination: bogus
> >   The destination refspec neither matches an existing ref on the remote nor
> >   begins with refs/, and we are unable to guess a prefix based on the source ref.
> >   error: failed to push some refs to '$URL'
> >
> > and now:
> >
> >   $ git push origin :bogus
> >   error: unable to delete 'bogus': remote ref does not exist
> >   error: failed to push some refs to '$URL'
> 
> This is telling a truth ($GIT_DIR/refs/bogus does not exist) but not
> the whole truth; while I tend to agree that it is better than the
> original (especially with ", and we are unable to guess..." part),
> given that the above request would delete refs/tags/bogus or
> refs/heads/bogus if they existed on the "origin", I am a bit worried
> that it may send an incorrect message to novice users.
> 
>     unable to delete 'bogus': no branch or tag with that name
> 
> might allay my worries, but I am not extremely happy with that
> wording, either.

I think the most accurate explanation of the behavior is "the
destination refspec does not match an existing ref, and it is not fully
qualified, so I didn't know what you meant to delete". But that is a
pretty awful message (only slightly less awful than the original one,
but I think that one is pretty bad).

The really interesting part is that we tried to match "bogus" against
all of the usual ref lookup rules, and it didn't match anything. But we
have the same issue when we say "git show bogus" and it does not match
anything, and we simply say "bad revision 'bogus'".

Maybe:

  unable to delete 'bogus': no matching remote ref found

would be a reasonably short way of saying that?

That still leaves out the second half, that it was not fully qualified
and therefore we could not even transmit an attempt to delete (even
though that attempt would clearly not succeed!). But that is really not
a subtlety that I think is worth putting in the error message, as it is
way more likely to confuse somebody.

-Peff
--
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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]