[PATCH 0/3] repack: don't move existing packs out of the way
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Nov 16, 2020, 18:41 UTC
- Message-ID
- <cover.1605552016.git.me@ttaylorr.com>
Hi,
Here are a few patches that GitHub has been running to get rid of the rename-to-old behavior that 'git repack' has when its invocation of 'pack-objects' produced a pack that already exists.
This was developed in the context of a circular dependency involving writing a multi-pack index during 'git repack' (we have some patches that do so by adding a '--write-midx' in the repack builtin), but it should be generally useful.
The idea (which is explained in detail in the final patch) is that prior to 1190a1acf8 (pack-objects: name pack files after trailer hash, 2013-12-05), 'git repack' had to move existing packs out of the way for safety, but after 1190a1acf8 no longer needs to do so.
This makes 'git repack' a little simpler since it no longer has to deal with any failures encountered during this rename-to-old behavior. It also paves the way for sending the MIDX-during-repack patches.
Thanks, Taylor
Jeff King (1): repack: make "exts" array available outside cmd_repack()
Taylor Blau (2): builtin/repack.c: keep track of what pack-objects wrote builtin/repack.c: don't move existing packs out of the way
builtin/repack.c | 153 +++++++++++++++++------------------------------ 1 file changed, 54 insertions(+), 99 deletions(-)
-- 2.29.2.312.gabc4d358d8