]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin/repack.c: assign pack split later
authorTaylor Blau <me@ttaylorr.com>
Fri, 5 Mar 2021 15:21:50 +0000 (10:21 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 5 Mar 2021 19:33:52 +0000 (11:33 -0800)
To determine the where to place the split when repacking with the
'--geometric' option, split_pack_geometry() assigns the "split" variable
and then decrements it in a loop.

It would be equivalent (and more readable) to assign the split to the
loop position after exiting the loop, so do that instead.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/repack.c

index 4ca2f647b401b1d0daa0f1b13acd158a81b18295..21a5778e73e31506aaf36b7c4fe44a285de87cf9 100644 (file)
@@ -356,8 +356,6 @@ static void split_pack_geometry(struct pack_geometry *geometry, int factor)
                return;
        }
 
-       split = geometry->pack_nr - 1;
-
        /*
         * First, count the number of packs (in descending order of size) which
         * already form a geometric progression.
@@ -365,12 +363,12 @@ static void split_pack_geometry(struct pack_geometry *geometry, int factor)
        for (i = geometry->pack_nr - 1; i > 0; i--) {
                struct packed_git *ours = geometry->pack[i];
                struct packed_git *prev = geometry->pack[i - 1];
-               if (geometry_pack_weight(ours) >= factor * geometry_pack_weight(prev))
-                       split--;
-               else
+               if (geometry_pack_weight(ours) < factor * geometry_pack_weight(prev))
                        break;
        }
 
+       split = i;
+
        if (split) {
                /*
                 * Move the split one to the right, since the top element in the