summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/push.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/builtin/push.c b/builtin/push.c
index f64b710..8fcbd28 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -206,8 +206,6 @@ static void setup_push_upstream(struct remote *remote, struct branch *branch,
int same_remote)
{
const char *upstream_ref;
- if (!branch)
- die(_(message_detached_head_die), remote->name);
upstream_ref = get_upstream_ref(branch, remote->name);
if (!same_remote)
die(_("You are pushing to remote '%s', which is not the upstream of\n"
@@ -220,16 +218,11 @@ static void setup_push_upstream(struct remote *remote, struct branch *branch,
static void setup_push_current(struct remote *remote, struct branch *branch)
{
- if (!branch)
- die(_(message_detached_head_die), remote->name);
refspec_appendf(&rs, "%s:%s", branch->refname, branch->refname);
}
static void setup_push_simple(struct remote *remote, struct branch *branch, int same_remote)
{
- if (!branch)
- die(_(message_detached_head_die), remote->name);
-
if (same_remote) {
const char *upstream_ref;
@@ -266,6 +259,9 @@ static void setup_default_push_refspecs(struct remote *remote)
break;
}
+ if (!branch)
+ die(_(message_detached_head_die), remote->name);
+
switch (push_default) {
default:
case PUSH_DEFAULT_UNSPECIFIED: