]> git.ipfire.org Git - thirdparty/git.git/commitdiff
revision: move bloom keyvec precondition into function
authorToon Claes <toon@iotcl.com>
Fri, 17 Jul 2026 15:46:59 +0000 (17:46 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 17 Jul 2026 20:20:57 +0000 (13:20 -0700)
There are currently two callsites calling
check_maybe_different_in_bloom_filter(). They both check if
revs->bloom_keyvecs_nr is not zero before they call that function.

Move bloom_keyvecs_nr precondition into
check_maybe_different_in_bloom_filter() to simplify the code.

Note that this changes `bloom_ret` to become -1 when there are no Bloom
key vectors, which results in `count_bloom_filter_false_positive` not
being incremented. This is unobservable, as the Bloom statistics are
only reported when key vectors were set up.

Signed-off-by: Toon Claes <toon@iotcl.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
revision.c

index ccbe2e03d1406a463e9b3c67f95a4f81abd2e0eb..087d64d572c141e76c47e43051bdd9623255d263 100644 (file)
@@ -752,6 +752,9 @@ static int check_maybe_different_in_bloom_filter(struct rev_info *revs,
        struct bloom_filter *filter;
        int result = 0;
 
+       if (!revs->bloom_keyvecs_nr)
+               return -1;
+
        if (commit_graph_generation(commit) == GENERATION_NUMBER_INFINITY)
                return -1;
 
@@ -806,7 +809,7 @@ static int rev_compare_tree(struct rev_info *revs,
                        return REV_TREE_SAME;
        }
 
-       if (revs->bloom_keyvecs_nr && !nth_parent) {
+       if (!nth_parent) {
                bloom_ret = check_maybe_different_in_bloom_filter(revs, commit);
 
                if (bloom_ret == 0)
@@ -833,7 +836,7 @@ static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit,
        if (!t1)
                return 0;
 
-       if (!nth_parent && revs->bloom_keyvecs_nr) {
+       if (!nth_parent) {
                bloom_ret = check_maybe_different_in_bloom_filter(revs, commit);
                if (!bloom_ret)
                        return 1;