Subject: Re: [PATCH 02/13] pack-objects: add --path-walk option

From: Derrick Stolee <[email-masked]>
Date: Thu, 20 Mar 2025 15:46:05 -0400

On 3/12/2025 5:14 PM, Taylor Blau wrote:
> On Mon, Mar 10, 2025 at 01:50:44AM +0000, Derrick Stolee via GitGitGadget wrote:
>> From: Derrick Stolee <[email-masked]>

>> +--path-walk::
>> +	By default, `git pack-objects` walks objects in an order that
>> +	presents trees and blobs in an order unrelated to the path they
>> +	appear relative to a commit's root tree. The `--path-walk` option
>> +	enables a different walking algorithm that organizes trees and
>> +	blobs by path. This has the potential to improve delta compression
>> +	especially in the presence of filenames that cause collisions in
>> +	Git's default name-hash algorithm. Due to changing how the objects
>> +	are walked, this option is not compatible with `--delta-islands`,
>> +	`--shallow`, or `--filter`.
> 
> I think from reading further below that this feature is somewhat
> incompatible with --use-bitmap-index, at least in the sense that we
> implicitly disable the latter whenever we see the former. Would that be
> worth mentioning here?

While it is not incompatible and does not even include a warning, the
--use-bitmap-index option gets silently ignored. This matches how
--shallow does similar things. I'll still add to this doc as I agree
it would be helpful.

Thanks,
-Stolee