From: Harald Nordgren via GitGitGadget Date: Sat, 31 Oct 2026 08:04:00 GMT Subject: [PATCH v2 1/2] remote: move "simple" @{push} resolution into a helper Message-ID: <151fef69b9ec221b39fdbab1d46f0b123f9079e4.1793433841.git.gitgitgadget@gmail.com> In-Reply-To: From: Harald Nordgren The "simple" arm is the longest in the switch of branch_get_push_1() and needs an extra block to declare its variables. Give it its own function so that it reads at one level of indentation and the next commit can teach it about pushing to another remote without nesting it further. No functional change. Signed-off-by: Harald Nordgren --- remote.c | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/remote.c b/remote.c index 49ee2ea318..d15d34aad7 100644 --- a/remote.c +++ b/remote.c @@ -1967,6 +1967,28 @@ static char *tracking_for_push_dest(struct repository *repo, return ret; } +static char *branch_get_push_simple(struct repository *repo, + struct remote *remote, + struct branch *branch, + struct strbuf *err) +{ + const char *up; + char *cur; + + up = branch_get_upstream(branch, err); + if (!up) + return NULL; + cur = tracking_for_push_dest(repo, remote, branch->refname, err); + if (!cur) + return NULL; + if (strcmp(cur, up)) { + free(cur); + return error_buf(err, + _("cannot resolve 'simple' push to a single destination")); + } + return cur; +} + static char *branch_get_push_1(struct repository *repo, struct branch *branch, struct strbuf *err) { @@ -2012,23 +2034,7 @@ static char *branch_get_push_1(struct repository *repo, case PUSH_DEFAULT_UNSPECIFIED: case PUSH_DEFAULT_SIMPLE: - { - const char *up; - char *cur; - - up = branch_get_upstream(branch, err); - if (!up) - return NULL; - cur = tracking_for_push_dest(repo, remote, branch->refname, err); - if (!cur) - return NULL; - if (strcmp(cur, up)) { - free(cur); - return error_buf(err, - _("cannot resolve 'simple' push to a single destination")); - } - return cur; - } + return branch_get_push_simple(repo, remote, branch, err); } BUG("unhandled push situation"); -- gitgitgadget