From: Johannes Schindelin Date: Thu, 15 May 2025 13:11:44 +0000 (+0000) Subject: fetch: avoid unnecessary work when there is no current branch X-Git-Tag: v2.50.0-rc0~7^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6c91162449cb0a2fe3c42a1caa232444afed9c7c;p=thirdparty%2Fgit.git fetch: avoid unnecessary work when there is no current branch As pointed out by CodeQL, `branch_get()` may return `NULL`, in which case `branch_has_merge_config()` would return early, but we can even avoid enumerating the refs prefixes in that case, saving even more CPU cycles. Technically, we should enclose these two statements in an `if (branch) {...}` block, but the indentation is already quite deep, therefore I refrained from doing that. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/builtin/fetch.c b/builtin/fetch.c index c1a1434c70..40a0e8d244 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1728,7 +1728,7 @@ static int do_fetch(struct transport *transport, if (transport->remote->follow_remote_head != FOLLOW_REMOTE_NEVER) do_set_head = 1; } - if (branch_has_merge_config(branch) && + if (branch && branch_has_merge_config(branch) && !strcmp(branch->remote_name, transport->remote->name)) { int i; for (i = 0; i < branch->merge_nr; i++) {