From: Junio C Hamano Date: Wed, 15 May 2013 15:14:08 GMT Subject: Re: [PATCHv2 03/10] refs.c: Refactor code for mapping between shorthand names and full refnames Message-ID: <7v38toe0n3.fsf@alter.siamese.dyndns.org> In-Reply-To: Johan Herland writes: > On Wed, May 15, 2013 at 9:39 AM, Johan Herland wrote: >> On Wed, May 15, 2013 at 8:45 AM, Michael Haggerty 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.