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

tb/cruft-packs (was Re: What's cooking in git.git (May 2022, #07; Wed, 25))

From
Taylor Blau <me@ttaylorr.com>
Date
May 26, 2022, 18:08 UTC
Message-ID
<Yo/CObnqie21V2Mg@nand.local>
In-Reply-To
<xmqqzgj41ya2.fsf@gitster.g>
On Thu, May 26, 2022 at 01:41:25AM -0700, Junio C Hamano wrote:
Show 26 quoted lines
> * tb/cruft-packs (2022-05-25) 18 commits
>  - sha1-file.c: don't freshen cruft packs
>  - builtin/gc.c: conditionally avoid pruning objects via loose
>  - builtin/repack.c: add cruft packs to MIDX during geometric repack
>  - builtin/repack.c: use named flags for existing_packs
>  - builtin/repack.c: allow configuring cruft pack generation
>  - builtin/repack.c: support generating a cruft pack
>  - builtin/pack-objects.c: --cruft with expiration
>  - reachable: report precise timestamps from objects in cruft packs
>  - reachable: add options to add_unseen_recent_objects_to_traversal
>  - builtin/pack-objects.c: --cruft without expiration
>  - builtin/pack-objects.c: return from create_object_entry()
>  - t/helper: add 'pack-mtimes' test-tool
>  - pack-mtimes: support writing pack .mtimes files
>  - chunk-format.h: extract oid_version()
>  - pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles'
>  - fixup! pack-mtimes: support reading .mtimes files
>  - pack-mtimes: support reading .mtimes files
>  - Documentation/technical: add cruft-packs.txt
>
>  A mechanism to pack unreachable objects into a "cruft pack",
>  instead of ejecting them into loose form to be reclaimed later, has
>  been introduced.
>
>  Will merge to 'next' after squashing fixup! in???
>  source: <cover.1653088640.git.me@ttaylorr.com>

I think this is ready. This topic has been thoroughly reviewed, and the outstanding topics:

  - user-facing documentation cautioning about mixed-version cruft GCs
    (similar to what I added in Documentation/technical/cruft-packs.txt
    in v4)
  - 64-bit timestamps, if desired

Can easily be done on top. The first one is trivial, and I'll send some patches before getting too close to the -rc phase. The latter is more substantial, but isn't a requirement for merging this (and the format is extensible so this could be done on top if there is significant interest).

Thanks, Taylor

Previous: Junio C HamanoNext: Taylor Blau
Message 8 of 24 in “What's cooking in git.git (May 2022, #07; Wed, 25)”
  1. Junio C HamanoMay 26, 2022
  2. Victoria DyeMay 26, 2022
  3. Junio C HamanoMay 26, 2022
  4. Ævar Arnfjörð BjarmasonMay 26, 2022
  5. Victoria DyeMay 26, 2022
  6. Ævar Arnfjörð BjarmasonMay 26, 2022
  7. Junio C HamanoMay 26, 2022
  8. tb/cruft-packs (was Re: What's cooking in git.git (May 2022, #07; Wed, 25))Taylor Blau, May 26, 2022
  9. Taylor BlauMay 26, 2022
  10. Junio C HamanoMay 26, 2022
  11. tb/midx-race-in-pack-objects (was Re: What's cooking in git.git (May 2022, #07; Wed, 25))Taylor Blau, May 26, 2022
  12. sg/build-gitweb (was: What's cooking in git.git (May 2022, #07; Wed, 25))Ævar Arnfjörð Bjarmason, May 26, 2022
  13. Junio C HamanoMay 26, 2022
  14. jc/http-clear-finished-pointer (was: What's cooking in git.git (May 2022, #07; Wed, 25))Ævar Arnfjörð Bjarmason, May 26, 2022
  15. Re* jc/http-clear-finished-pointerJunio C Hamano, May 26, 2022
  16. Johannes SchindelinMay 27, 2022
  17. Junio C HamanoMay 27, 2022
  18. Ævar Arnfjörð BjarmasonJun 1, 2022
  19. Junio C HamanoJun 1, 2022
  20. js/bisect-in-c (was: What's cooking in git.git (May 2022, #07; Wed, 25))Ævar Arnfjörð Bjarmason, May 26, 2022
  21. Junio C HamanoMay 26, 2022
  22. Junio C HamanoMay 26, 2022
  23. Ævar Arnfjörð BjarmasonMay 27, 2022
  24. jx/l10n-workflow-change (was: What's cooking in git.git (May 2022, #07; Wed, 25))Ævar Arnfjörð Bjarmason, May 26, 2022

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.