Subject: Re: [PATCH, 4th version] git-branch: register where to merge from, when branching off a remote branch

From: Paolo Bonzini <[email-masked]>
Date: Fri, 02 Mar 2007 17:33:54 +0100

>>>> +	else if (dwim_ref(start_name, strlen(start_name), sha1, &real_ref))
>>>> +		remote = !prefixcmp(real_ref, "refs/remotes/");
>>>  - (pure question) What happens if dwim_ref() returns more than one?
>> Then, real_ref is the one matching sha1.
> 
> Which one ;-)

Matching "the variable named" sha1. :-)

> What Junio tried to get at: if you have "refs/heads/my" and 
> "refs/remotes/origin/my", dwim_ref("my", ...) returns 2 (or even more, if 
> you have other refs ending in "/my").

But the sha1 and the real_ref are always consistent.  If I get refs/heads/my (and a non-remote will always override the remote), the sha1 is non remote.  If I get refs/remotes/origin/my (which triggers the magic), the sha1 is remote.

Still, let's put this patch on hold, I have to understand more about git before proposing something that is clearly beyond my knowledge (as the criticism shows).

Paolo