Re: [PATCHv2 03/10] refs.c: Refactor code for mapping between shorthand names and full refnames
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 15, 2013, 15:14 UTC
- Message-ID
- <7v38toe0n3.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CALKQrgdroLDSf=Xc58NiHSf7fp8cRMbrR0mGrfKY7Rg0FpPFJg@mail.gmail.com>
Johan Herland <johan@herland.net> writes:
Show 14 quoted lines
> On Wed, May 15, 2013 at 9:39 AM, Johan Herland <johan@herland.net> wrote: >> On Wed, May 15, 2013 at 8:45 AM, Michael Haggerty <mhagger@alum.mit.edu> wrote: >>> "refs/remotes/%1/%2" (or "refs/remotes/%1/%*") might be a nice way to >>> imply that the rule should only be attempted if the input has at least >>> two components, whereas something like "refs/heads/%*" would be applied >>> even for inputs with no slashes. >> >> /me likes, at least for "refs/remotes/%1/%*". > > Unfortunately, using "refs/remotes/%1/%*" instead of "refs/remotes/%*" > breaks a number of git-svn tests which puts refs directly within > refs/remotes/, and then does things like "git reset --hard trunk" > (expecting trunk -> refs/remotes/trunk, which the refs/remotes/%1/%* > doesn't match).
Oh, I never thought refs/remotes/%1/%* was a suggestion for a serious "improvement", but was merely a thought experiment "if all the remotes were at least two level names, we could express it like this to stress that fact".
We already allow 'origin' to refer to refs/remotes/origin/HEAD, so it is clear refs/remotes/%1/%* alone will not be able to replace what we have; we need refs/remotes/%* and refs/remotes/%*/HEAD anyway.