]> git.ipfire.org Git - thirdparty/git.git/commitdiff
fetch: avoid unnecessary work when there is no current branch
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Thu, 15 May 2025 13:11:44 +0000 (13:11 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 May 2025 20:46:47 +0000 (13:46 -0700)
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 <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/fetch.c

index c1a1434c7096255ea1164c7cb9cebcdfc450c80e..40a0e8d24434f2f4fc5b92a3411cce96ccf70e83 100644 (file)
@@ -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++) {