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 13, 2013, 06:45 UTC
- Message-ID
- <7v8v3jqsy7.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CALKQrgf0m8r-Ofb+Ss1OpEF67dPS73b8nB+usVxH=Y=h3441Wg@mail.gmail.com>
Johan Herland <johan@herland.net> writes:
> Obviously, I named it '%1' since it expands into the _first_ component > of the (slash-separated) shorthand.
OK, I can buy something like
%*
refs/%*
refs/heads/%*
...
refs/remotes/%*/HEAD
refs/remotes/%1/%2
refs/peers/%1/heads/%2that is, for a pattern that has %*, we feed the end-user string as a whole, and for a pattern that has %1 thru %N, we find an appropriate way to chop the end-user string into N pieces (e.g. nick/name would be split into %1 = nick, %2 = name, while foo/bar/baz might have two possibilities, <%1, %2> = <foo, bar/baz> or <foo/bar, baz>). The earlier ones on the above list can even be written with their %* substituted with %1 if we go that route.
And that makes perfect sense, and is exactly the kind of "you plan to have %2 and %3 that falls into the same category as %1" I was asking you about in the message.
So, no more objection to %1 from me, if that is the direction you are taking us.