git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Next: Taylor Blau
Message 1 of 10 in “revision: exclude all packed objects with `--unpacked`”
  1. 0/2 revision: exclude all packed objects with `--unpacked`Taylor Blau, Nov 6, 2023
  2. 1/2 list-objects: drop --unpacked non-commit objects from resultsTaylor Blau, Nov 6, 2023
  3. Junio C HamanoNov 7, 2023
  4. Jeff KingNov 7, 2023
  5. 2/2 pack-bitmap: drop --unpacked non-commit objects from resultsTaylor Blau, Nov 6, 2023
  6. Junio C HamanoNov 7, 2023
  7. Jeff KingNov 7, 2023
  8. Junio C HamanoNov 7, 2023
  9. Jeff KingNov 7, 2023
  10. Patrick SteinhardtNov 7, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.