Thread (17 messages) flat view 17 messages, 7 authors, 2016-06-15

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

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:57

Possibly related (same subject, not in this thread)

Hi,

On Fri, 2 Mar 2007, Paolo Bonzini wrote:
quoted
 - (micronit) Is it true that both strlen() tests are about long
   *branch* names?
Yes. "name" refers to the _new_ branch, and "remote_branch_name" refers to 
the remote branch.
quoted
 - (moderately serious) The code blindly trusts that
   "refs/remotes/foo/bar" tracks "refs/heads/bar" from remote
   named "foo", which is a bit disturbing.  With the default
   configuration git-clone and git-remote creates, it always is
   the case, but I suspect you might want to at least verify
   that assumption (the user can have different settings in the
   config), if not figuring them out by reading the existing
   configuration yourself.
Ouch.  Absolutely right, but this means I will prepare the patch later 
then.
I really recommend doing what I said in another reply: check that 
the remote information in the config for that remote meets our 
expectations. And do nothing at all if it does not (maybe warn that no 
branch.<foo> voodoo was done).
quoted
quoted
+	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 ;-)

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").

Please test if the return value is exactly 1, and if it is not, do 
nothing.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help