Felipe Contreras <felipe.contreras@xxxxxxxxx> 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? -- 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