Taylor Blau <me@xxxxxxxxxxxx> writes: > So, I think that teaching pack-objects a way to understand a caller that > says "include objects from packs X, Y, and Z, but not if they appear in > packs A, B, or C, and also pull in any loose objects" is the best way > forward here. Are our goals still include that the resulting packfile has good delta compression and object locality? Reachability traversal discovers which commit comes close to which other commits to help pack-objects to arrange the resulting pack so that objects that appear close together in history appears close together. It also gives each object a pathname hint to help group objects of the same type (either blobs or trees) with like-paths together for better deltification. Without reachability traversal, I would imagine that it would become quite important to keep the order in which objects appear in the original pack, and existing delta chain, as much as possible, or we'd be seeing a horribly inefficient pack like fast-import would produce. Thanks.