summaryrefslogtreecommitdiff
path: root/remote.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-01-31 21:32:08 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-01-31 21:32:08 (GMT)
commitf5f55a1046d85bd78244d25617358f48619785f8 (patch)
treed64b02de7308c6ae3767b92b1492ed9bbae505de /remote.c
parent2b3f61dc8b5ee4ee5b1c1ad8bdeebce52244a3a6 (diff)
parentb10731f43dc21fa47c275052e7c074c686335cd3 (diff)
downloadgit-f5f55a1046d85bd78244d25617358f48619785f8.zip
git-f5f55a1046d85bd78244d25617358f48619785f8.tar.gz
git-f5f55a1046d85bd78244d25617358f48619785f8.tar.bz2
Merge branch 'km/branch-get-push-while-detached' into maint
"git <cmd> @{push}" on a detached HEAD used to segfault; it has been corrected to error out with a message. * km/branch-get-push-while-detached: branch_get_push: do not segfault when HEAD is detached
Diffstat (limited to 'remote.c')
-rw-r--r--remote.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/remote.c b/remote.c
index ad6c542..d5eaec7 100644
--- a/remote.c
+++ b/remote.c
@@ -1716,9 +1716,6 @@ static const char *branch_get_push_1(struct branch *branch, struct strbuf *err)
{
struct remote *remote;
- if (!branch)
- return error_buf(err, _("HEAD does not point to a branch"));
-
remote = remote_get(pushremote_for_branch(branch, NULL));
if (!remote)
return error_buf(err,
@@ -1778,6 +1775,9 @@ static const char *branch_get_push_1(struct branch *branch, struct strbuf *err)
const char *branch_get_push(struct branch *branch, struct strbuf *err)
{
+ if (!branch)
+ return error_buf(err, _("HEAD does not point to a branch"));
+
if (!branch->push_tracking_ref)
branch->push_tracking_ref = branch_get_push_1(branch, err);
return branch->push_tracking_ref;