From: Bert Wesarg Date: Mon, 01 Sep 2008 21:44:09 GMT Subject: Re: [PATCH] for-each-ref: `:short` format for `refname` Message-ID: <36ca99e90809011444v3fca09c4o4d9dcf1a7249a00a@mail.gmail.com> In-Reply-To: <7v7i9vv9n2.fsf@gitster.siamese.dyndns.org> On Mon, Sep 1, 2008 at 23:28, Junio C Hamano wrote: > "Bert Wesarg" writes: > >> On Mon, Sep 1, 2008 at 21:10, Shawn O. Pearce wrote: >> ... >>> You can still get ambiguous names. Avoiding them requires going >>> through all refs and building their short forms, then using the >>> full ref name for any ref which had more than one name shorten to >>> the same string. Ugly, but implementable, and probably something >>> that should be considered. >> >> What about: try the list backwards until the first match, than try the >> matched part (this what %.*s matched) with the forward list, if both >> give the same pattern, its not disambiguous. If not try the next >> pattern backwards. > > How does it catch the case where you have both 'xyzzy' branch and 'xyzzy' > tag, which is the point of disambiguation issue Shawn raised? Right.