On Fri, May 28, 2021 at 1:10 PM Felipe Contreras <felipe.contreras@xxxxxxxxx> 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. > No functional changes. > > Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> > --- > 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.