* [PATCH] builtin/checkout: handle -B from detached HEAD correctly
@ 2010-08-09 16:52 Tay Ray Chuan
0 siblings, 0 replies; only message in thread
From: Tay Ray Chuan @ 2010-08-09 16:52 UTC (permalink / raw)
To: Git Mailing List; +Cc: Junio C Hamano, Jonathan Nieder
Ensure that strcmp() isn't called when head is null.
Previously we were getting segfaults when checkout -B was done from a
detached HEAD.
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---
Junio, this goes on top of the 'tc/checkout-B' series.
branch.c | 2 +-
t/t2018-checkout-branch.sh | 6 ++++++
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/branch.c b/branch.c
index 2ab42aa..93dc866 100644
--- a/branch.c
+++ b/branch.c
@@ -159,7 +159,7 @@ void create_branch(const char *head,
dont_change_ref = 1;
else if (!force)
die("A branch named '%s' already exists.", name);
- else if (!is_bare_repository() && !strcmp(head, name))
+ else if (!is_bare_repository() && head && !strcmp(head, name))
die("Cannot force update the current branch.");
forcing = 1;
}
diff --git a/t/t2018-checkout-branch.sh b/t/t2018-checkout-branch.sh
index 1caffea..fa69016 100755
--- a/t/t2018-checkout-branch.sh
+++ b/t/t2018-checkout-branch.sh
@@ -124,6 +124,12 @@ test_expect_success 'checkout -B to an existing branch resets branch to HEAD' '
do_checkout branch2 "" -B
'
+test_expect_success 'checkout -B to an existing branch from detached HEAD resets branch to HEAD' '
+ git checkout $(git rev-parse --verify HEAD) &&
+
+ do_checkout branch2 "" -B
+'
+
test_expect_success 'checkout -B to an existing branch with an explicit ref resets branch to that ref' '
git checkout branch1 &&
--
1.7.2.1.57.ga5ce7c
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2010-08-09 16:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-09 16:52 [PATCH] builtin/checkout: handle -B from detached HEAD correctly Tay Ray Chuan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).