{"thread":{"id":"28162","subject":"[PATCH] branch.c: use the parsed branch name","startedAt":"2011-08-19T11:45:43Z","lastAt":"2011-08-19T18:03:05Z","messageCount":2,"participants":["Michael J Gruber","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"173849","messageId":"8258e2fc0a61642053e285c4f498e7cf1d2dc7df.1313754086.git.git@drmicha.warpmail.net","threadId":"28162","inReplyTo":null,"subject":"[PATCH] branch.c: use the parsed branch name","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-08-19T11:45:43Z","receivedAt":"2011-08-19T11:45:43Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"When setting up tracking info, branch.c uses the given branch specifier\n(\"name\"). Use the parsed name (\"ref.buf\") instead so that\n\ngit branch --set-upstream @{-1} foo\n\nsets up tracking info for the previous branch rather than for a branch\nnamed \"@{-1}\".\n\nSigned-off-by: Michael J Gruber <git@drmicha.warpmail.net>\n---\nThat's actually 1 of n in my branch pattern series, but independent,\nand ready to go now.\n\n branch.c                 |    2 +-\n t/t6040-tracking-info.sh |   14 ++++++++++++++\n 2 files changed, 15 insertions(+), 1 deletions(-)\n\ndiff --git a/branch.c b/branch.c\nindex c0c865a..d62cc01 100644\n--- a/branch.c\n+++ b/branch.c\n@@ -210,7 +210,7 @@ void create_branch(const char *head,\n \t\t\t start_name);\n \n \tif (real_ref && track)\n-\t\tsetup_tracking(name, real_ref, track);\n+\t\tsetup_tracking(ref.buf+11, real_ref, track);\n \n \tif (!dont_change_ref)\n \t\tif (write_ref_sha1(lock, sha1, msg) < 0)\ndiff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh\nindex a9b0ac1..19de5b1 100755\n--- a/t/t6040-tracking-info.sh\n+++ b/t/t6040-tracking-info.sh\n@@ -110,4 +110,18 @@ test_expect_success '--set-upstream does not change branch' '\n \tgrep -q \"^refs/heads/master$\" actual &&\n \tcmp expect2 actual2\n '\n+\n+test_expect_success '--set-upstream @{-1}' '\n+\tgit checkout from-master &&\n+\tgit checkout from-master2 &&\n+\tgit config branch.from-master2.merge > expect2 &&\n+\tgit branch --set-upstream @{-1} follower &&\n+\tgit config branch.from-master.merge > actual &&\n+\tgit config branch.from-master2.merge > actual2 &&\n+\tgit branch --set-upstream from-master follower &&\n+\tgit config branch.from-master.merge > expect &&\n+\ttest_cmp expect2 actual2 &&\n+\ttest_cmp expect actual\n+'\n+\n test_done\n-- \n1.7.6.678.gaaad0\n"},{"id":"173870","messageId":"7vwre92s9y.fsf@alter.siamese.dyndns.org","threadId":"28162","inReplyTo":"8258e2fc0a61642053e285c4f498e7cf1d2dc7df.1313754086.git.git@drmicha.warpmail.net","subject":"Re: [PATCH] branch.c: use the parsed branch name","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-08-19T18:03:05Z","receivedAt":"2011-08-19T18:03:05Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Michael J Gruber <git@drmicha.warpmail.net> writes:\n\n> When setting up tracking info, branch.c uses the given branch specifier\n> (\"name\"). Use the parsed name (\"ref.buf\") instead so that\n>\n> git branch --set-upstream @{-1} foo\n>\n> sets up tracking info for the previous branch rather than for a branch\n> named \"@{-1}\".\n>\n> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>\n\nThanks.\n"}]}