[PATCH 0/2] revision: exclude all packed objects with `--unpacked`
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Nov 6, 2023, 22:56 UTC
- Message-ID
- <cover.1699311386.git.me@ttaylorr.com>
While working on my longer series to enable verbatim pack reuse across multiple packs[^1], I noticed a couple of oddities with the `--unpacked` rev-walk flag.
While it does exclude packed commits, it does not exclude (all) packed trees/blobs/annotated tags. This problem exists in the pack-bitmap machinery, too, which will over-count queries like:
$ git rev-list --use-bitmap-index --all --unpacked --objects
, etc.
The fix is relatively straightforward, split across two patches that Peff and I worked on together earlier today.
This is technically a backwards-incompatible change, but the existing behavior is broken and does not match the documented behavior, so I think in this case we are OK to change --unpacked to faithfully implement its documentation.
[^1]: Which, I'm very excited to say, is working :-).
Taylor Blau (2): list-objects: drop --unpacked non-commit objects from results pack-bitmap: drop --unpacked non-commit objects from results
list-objects.c | 3 +++ pack-bitmap.c | 27 +++++++++++++++++++++++++++ t/t6000-rev-list-misc.sh | 13 +++++++++++++ t/t6113-rev-list-bitmap-filters.sh | 13 +++++++++++++ t/t6115-rev-list-du.sh | 7 +++++++ 5 files changed, 63 insertions(+)
base-commit: bc5204569f7db44d22477485afd52ea410d83743
-- 2.43.0.rc0.2.gef6b2154a3