]> git.ipfire.org Git - thirdparty/git.git/commitdiff
pack-objects: pass --objects with --path-walk
authorDerrick Stolee <stolee@gmail.com>
Fri, 22 May 2026 18:24:26 +0000 (18:24 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sun, 24 May 2026 09:41:06 +0000 (18:41 +0900)
When 'git pack-objects' has the --path-walk option enabled, it uses a
different set of revision walk parameters than normal. For one,
--objects was previously assumed by the path-walk API and could be
omitted. We also needed --boundary to allow discovering UNINTERESTING
objects to use as delta bases.

We will be updating the path-walk API soon to work with some filter
options. However, the revision machinery will trigger a fatal error:

  fatal: object filtering requires --objects

The fix is easy: add the --objects option as an argument. This has no
effect on the path-walk API but does simplify the revision option
parsing for the objects filter.

We can remove the comment about "removing" the options because they were
never removed and instead not added. We still need to disable using
bitmaps.

Signed-off-by: Derrick Stolee <stolee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/pack-objects.c

index dd2480a73d2edf0eca3be11029e49650877d6ab3..4338962904bc944c35c882c1ed6cd91154e6bb0a 100644 (file)
@@ -5190,10 +5190,7 @@ int cmd_pack_objects(int argc,
        }
        if (path_walk) {
                strvec_push(&rp, "--boundary");
-                /*
-                 * We must disable the bitmaps because we are removing
-                 * the --objects / --objects-edge[-aggressive] options.
-                 */
+               strvec_push(&rp, "--objects");
                use_bitmap_index = 0;
        } else if (thin) {
                use_internal_rev_list = 1;