From: Taylor Blau <me@ttaylorr.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, derrickstolee@github.com, gregory.szorc@gmail.com
Subject: [PATCH 0/7] midx: ignore cruft pack with `repack`, `expire`
Date: Mon, 19 Sep 2022 21:55:37 -0400 [thread overview]
Message-ID: <cover.1663638929.git.me@ttaylorr.com> (raw)
This series fixes a pair of bugs that were originally pointed out by
Gregory Szorc in [1].
Namely, that both `git multi-pack-index repack` and `git
multi-pack-index expire` can cause us to "absorb" the cruft pack,
distributing its objects into a new pack, and removing its metadata.
This is worth avoiding, since even though it doesn't result in object
corruption, this bug removes semi-important metadata contained in the
.mtimes file, which controls how fast objects leave the repository
during a pruning GC.
This series teaches both sub-commands to avoid any cruft pack(s),
preserving their metadata.
Thanks in advance for your review.
[1]: https://lore.kernel.org/git/CAKQoGanPBec6wRO6uWrETaoJXdszpjRWytXaJwx6jw0mrrj-gQ@mail.gmail.com/
Taylor Blau (7):
Documentation/git-multi-pack-index.txt: fix typo
Documentation/git-multi-pack-index.txt: clarify expire behavior
midx.c: prevent `expire` from removing the cruft pack
midx.c: avoid cruft packs with `repack --batch-size=0`
midx.c: replace `xcalloc()` with `CALLOC_ARRAY()`
midx.c: remove unnecessary loop condition
midx.c: avoid cruft packs with non-zero `repack --batch-size`
Documentation/git-multi-pack-index.txt | 7 +-
midx.c | 12 +++-
t/t5319-multi-pack-index.sh | 94 ++++++++++++++++++++++++++
3 files changed, 107 insertions(+), 6 deletions(-)
--
2.37.0.1.g1379af2e9d
next reply other threads:[~2022-09-20 1:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-20 1:55 Taylor Blau [this message]
2022-09-20 1:55 ` [PATCH 1/7] Documentation/git-multi-pack-index.txt: fix typo Taylor Blau
2022-09-20 1:55 ` [PATCH 2/7] Documentation/git-multi-pack-index.txt: clarify expire behavior Taylor Blau
2022-09-20 1:55 ` [PATCH 3/7] midx.c: prevent `expire` from removing the cruft pack Taylor Blau
2022-09-22 14:08 ` Derrick Stolee
2022-09-20 1:55 ` [PATCH 4/7] midx.c: avoid cruft packs with `repack --batch-size=0` Taylor Blau
2022-09-20 1:55 ` [PATCH 5/7] midx.c: replace `xcalloc()` with `CALLOC_ARRAY()` Taylor Blau
2022-09-20 1:55 ` [PATCH 6/7] midx.c: remove unnecessary loop condition Taylor Blau
2022-09-20 1:55 ` [PATCH 7/7] midx.c: avoid cruft packs with non-zero `repack --batch-size` Taylor Blau
2022-09-20 14:39 ` [PATCH 0/7] midx: ignore cruft pack with `repack`, `expire` Christian Couder
2022-09-22 14:14 ` Derrick Stolee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1663638929.git.me@ttaylorr.com \
--to=me@ttaylorr.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=gregory.szorc@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.