Subject: [PATCH 0/2] revision: exclude all packed objects with `--unpacked`

From: Taylor Blau <[email-masked]>
Date: Mon, 6 Nov 2023 17:56:27 -0500

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