Subject: Re: [PATCH v2 00/10] pack-objects: integrate --path-walk and some --filter options

From: Derrick Stolee <[email-masked]>
Date: Tue, 5 May 2026 12:18:28 -0400

On 5/4/2026 4:21 PM, Derrick Stolee via GitGitGadget wrote:
> NOTE: This series is based on en/backfill-fixes-and-edges.
> 
> The 'git pack-objects' command has a '--path-walk' option that uses the
> path-walk API instead of a typical revision walk to group objects into
> chunks by path name instead of relying solely on name-hashes to group
> similar files together. (It also does a second compression pass looking for
> better deltas after the first pass that is focused within chunks per path.)
> 
> The '--path-walk' feature was not previously integrated with the '--filter'
> feature, so a warning would appear and disable the path-walk API when a
> filter is given. This patch series integrates these together in the
> following ways:
> 
>  * --filter=blob:none updates the path-walk API options to skip blobs.
>  * --filter=blob:limit=<size> adds a scan to a list of blob objects to
>    remove objects that are too large.
>  * --filter=sparse:<oid> adds a scan to the chunks to validate that the
>    paths match the sparse-checkout patterns.

(I need to update this cover letter to include the new filters.)

One thing I discovered when testing Taylor's series is that this series
introduces new test failures when run with GIT_TEST_PACK_PATH_WALK=1.
It's probably due to new cases that are fragile to the difference
between delta compression algorithms, but are now exposed after the
filters are no longer disabling --path-walk even with that test var.

I'll make sure these are fixed in the next version.

Thanks,
-Stolee