]> git.ipfire.org Git - thirdparty/git.git/commitdiff
push: reorganize setup_push_simple()
authorFelipe Contreras <felipe.contreras@gmail.com>
Mon, 31 May 2021 19:32:34 +0000 (14:32 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Jun 2021 01:09:51 +0000 (10:09 +0900)
Simply move the code around and remove dead code. In particular the
'!same_remote' conditional is a no-op since that part of the code is the
same_remote leg of the conditional beforehand.

No functional changes.

Suggestions-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/push.c

index 6a620a90e3d7baf9628004dbf31d99c30dc49226..972d8e1cfd5c447284f1e25a9a53c9fa3af62504 100644 (file)
@@ -225,13 +225,14 @@ static void setup_push_current(struct remote *remote, struct branch *branch)
 
 static void setup_push_simple(struct remote *remote, struct branch *branch, int same_remote)
 {
+       const char *dst;
+
+       if (!branch)
+               die(_(message_detached_head_die), remote->name);
+
        if (!same_remote) {
-               if (!branch)
-                       die(_(message_detached_head_die), remote->name);
-               refspec_appendf(&rs, "%s:%s", branch->refname, branch->refname);
+               dst = branch->refname;
        } else {
-               if (!branch)
-                       die(_(message_detached_head_die), remote->name);
                if (!branch->merge_nr || !branch->merge || !branch->remote_name)
                        die(_("The current branch %s has no upstream branch.\n"
                            "To push the current branch and set the remote as upstream, use\n"
@@ -243,20 +244,14 @@ static void setup_push_simple(struct remote *remote, struct branch *branch, int
                if (branch->merge_nr != 1)
                        die(_("The current branch %s has multiple upstream branches, "
                            "refusing to push."), branch->name);
-               if (!same_remote)
-                       die(_("You are pushing to remote '%s', which is not the upstream of\n"
-                             "your current branch '%s', without telling me what to push\n"
-                             "to update which remote branch."),
-                           remote->name, branch->name);
-
-               if (1) {
-                       /* Additional safety */
-                       if (strcmp(branch->refname, branch->merge[0]->src))
-                               die_push_simple(branch, remote);
-               }
 
-               refspec_appendf(&rs, "%s:%s", branch->refname, branch->merge[0]->src);
+               /* Additional safety */
+               if (strcmp(branch->refname, branch->merge[0]->src))
+                       die_push_simple(branch, remote);
+
+               dst = branch->merge[0]->src;
        }
+       refspec_appendf(&rs, "%s:%s", branch->refname, dst);
 }
 
 static int is_same_remote(struct remote *remote)