Thread (24 messages) 24 messages, 3 authors, 2021-05-29

Re: [PATCH 03/11] push: reorganize setup_push_simple()

flat view

From: Elijah Newren <hidden>
Date: 2021-05-28 20:52:33

On Fri, May 28, 2021 at 1:10 PM Felipe Contreras
[off-list ref] wrote:
Simply move the code around.
Not quite, you also deleted dead code.  Made the patch a bit harder to
read because I was trying to verify you did what the commit message
said and it took me longer than it should have to realize that you
were also deleting dead code.  Might be worth including that fact in
this sentence here.
quoted hunk ↗ jump to hunk
No functional changes.

Signed-off-by: Felipe Contreras <redacted>
---
 builtin/push.c | 29 ++++++++++++-----------------
 1 file changed, 12 insertions(+), 17 deletions(-)
diff --git a/builtin/push.c b/builtin/push.c
index d173c39283..9c807ed707 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -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 triangular)
 {
+       const char *dst;
+
+       if (!branch)
+               die(_(message_detached_head_die), remote->name);
+
        if (triangular) {
-               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 (triangular)
-                       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);
This if-block is safe to delete because we're already in the !triangular case.

-
-               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_workflow_triangular(struct remote *remote)
--
2.32.0.rc0
Everything else is, as you say, just moving code around.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help