`simple` is the most important mode so move the relevant code to its own function to make it easier to see what it's doing. Reviewed-by: Elijah Newren <newren@xxxxxxxxx> Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> --- builtin/push.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/builtin/push.c b/builtin/push.c index 06406353ce..48c38fe25a 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -223,6 +223,14 @@ static void setup_push_current(struct remote *remote, struct branch *branch) refspec_appendf(&rs, "%s:%s", branch->refname, branch->refname); } +static void setup_push_simple(struct remote *remote, struct branch *branch, int same_remote) +{ + if (!same_remote) + setup_push_current(remote, branch); + else + setup_push_upstream(remote, branch, same_remote, 1); +} + static int is_same_remote(struct remote *remote) { struct remote *fetch_remote = remote_get(NULL); @@ -242,10 +250,7 @@ static void setup_default_push_refspecs(struct remote *remote) case PUSH_DEFAULT_UNSPECIFIED: case PUSH_DEFAULT_SIMPLE: - if (!same_remote) - setup_push_current(remote, branch); - else - setup_push_upstream(remote, branch, same_remote, 1); + setup_push_simple(remote, branch, same_remote); break; case PUSH_DEFAULT_UPSTREAM: -- 2.32.0.rc0