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