I want to perform a "safe" garbage collection for the Git repository on the server, which avoids data corruption issues caused by concurrent pushes during git GC. To achieve this, I currently need to use git repack --cruft --expire-to=<dir> and git prune in combination. However, it would be simpler if we could directly use --expire-to=<dir> with the git-gc command. ZheNing Hu (2): gc: add `--expire-to` option fix(gc): make --prune=now compatible with --expire-to Documentation/git-gc.txt | 6 ++++++ builtin/gc.c | 9 +++++++-- t/t6500-gc.sh | 6 ++++++ 3 files changed, 19 insertions(+), 2 deletions(-) base-commit: 92999a42db1c5f43f330e4f2bca4026b5b81576f Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1843%2Fadlternative%2Fzh%2Fgc-expire-to-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1843/adlternative/zh/gc-expire-to-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/1843 Range-diff vs v1: 1: 14e94bf04e5 = 1: 14e94bf04e5 gc: add `--expire-to` option -: ----------- > 2: 579757957d2 fix(gc): make --prune=now compatible with --expire-to -- gitgitgadget