Subject: Re: [PATCH v5 2/2] Add new @ shortcut for HEAD

From: Junio C Hamano <[email-masked]>
Date: Mon, 09 Sep 2013 15:54:31 -0700

Felipe Contreras <[email-masked]> writes:

>> Hmph, is the above sufficient?  I added a case that mimics Stefano's
>> original regression report (which is handled) and another that uses
>> doubled "@" for the same purpose of introducing a "funny" hierarchy,
>> and it appears that "checkout -b" chokes on it.
>
> This fixes it:
>
> --- a/sha1_name.c
> +++ b/sha1_name.c
> @@ -1014,6 +1014,8 @@ static int interpret_empty_at(const char *name,
> int namelen, int len, struct str
>
>         /* make sure it's a single @, or @@{.*}, not @foo */
>         next = strchr(name + len + 1, '@');
> +       if (next && next[1] != '{')
> +               return -1;
>         if (!next)
>                 next = name + namelen;
>         if (next != name + 1)

I think this should be sufficient for all cases, as the sequence
"@{" cannot be a part of valid reference names.

Thanks.

I see v6 was posted yesterday after this message, but it does not
seem to have this fix, nor the additional test case I gave you in
the message upthread.  Sent a wrong version of patch by mistake?