From: Paolo Bonzini Date: Fri, 02 Mar 2007 16:33:54 GMT Subject: Re: [PATCH, 4th version] git-branch: register where to merge from, when branching off a remote branch Message-ID: <45E851F2.6010405@lu.unisi.ch> In-Reply-To: >>>> + 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