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

Re: [PATCH 4/4] builtin/repack.c: implement `--expire-to` for storing pruned objects

From
Derrick Stolee <derrickstolee@github.com>
Date
Nov 7, 2022, 19:42 UTC
Message-ID
<21e870f7-0f86-7021-d141-9e83286adea7@github.com>
In-Reply-To
<6376d15c9c9adce883dba86ef5e5219f803aa9bf.1666636974.git.me@ttaylorr.com>
On 10/24/22 2:43 PM, Taylor Blau wrote:
> When pruning objects with `--cruft`, `git repack` offers some
> flexibility when selecting the set of which objects are pruned via the
> `--cruft-expiration` option.
This patch looks good.

Creating these cruft packs in the expire directory does help remove the main problem of the race condition. This currently requires some external system to check that no races happened and it is safe to delete the pack in the expire directory. Also, that external tool is needed to move that expired pack (or preferably, only the necessary objects) back into the repository.

Some future series could find a way to handle those situations, perhaps within 'git fsck' to pull missing reachable objects from the expire directory. Definitely not required for this series, though.

Thanks, -Stolee

Previous: Taylor BlauNext: Taylor Blau
Message 8 of 14 in “repack: implement `--expire-to` option”
  1. 0/4 repack: implement `--expire-to` optionTaylor Blau, Oct 24, 2022
  2. 1/4 builtin/repack.c: pass "out" to `prepare_pack_objects`Taylor Blau, Oct 24, 2022
  3. Junio C HamanoOct 24, 2022
  4. Derrick StoleeNov 7, 2022
  5. 2/4 builtin/repack.c: pass "cruft_expiration" to `write_cruft_pack`Taylor Blau, Oct 24, 2022
  6. Junio C HamanoOct 24, 2022
  7. 4/4 builtin/repack.c: implement `--expire-to` for storing pruned objectsTaylor Blau, Oct 24, 2022
  8. Derrick StoleeNov 7, 2022
  9. Taylor BlauNov 7, 2022
  10. 3/4 builtin/repack.c: write cruft packs to arbitrary locationsTaylor Blau, Oct 24, 2022
  11. Junio C HamanoOct 24, 2022
  12. Taylor BlauOct 28, 2022
  13. Derrick StoleeNov 7, 2022
  14. Taylor BlauNov 7, 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.