diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-01-18 13:49:57 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-01-18 13:49:57 -0800 |
commit | 5104f8f1acaecbe252cd0c561582052c12278b62 (patch) | |
tree | 8a30c9955bd2dcd3782e27f0ca551878b4624638 /builtin/gc.c | |
parent | Merge branch 'en/show-ref-doc-fix' (diff) | |
parent | gc/repack: release packs when needed (diff) | |
download | tgif-5104f8f1acaecbe252cd0c561582052c12278b62.tar.xz |
Merge branch 'js/gc-repack-close-before-remove'
"git gc" and "git repack" did not close the open packfiles that
they found unneeded before removing them, which didn't work on a
platform incapable of removing an open file. This has been
corrected.
* js/gc-repack-close-before-remove:
gc/repack: release packs when needed
Diffstat (limited to 'builtin/gc.c')
-rw-r--r-- | builtin/gc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin/gc.c b/builtin/gc.c index 7696017cd4..020f725acc 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -659,8 +659,10 @@ int cmd_gc(int argc, const char **argv, const char *prefix) report_garbage = report_pack_garbage; reprepare_packed_git(the_repository); - if (pack_garbage.nr > 0) + if (pack_garbage.nr > 0) { + close_all_packs(the_repository->objects); clean_pack_garbage(); + } if (gc_write_commit_graph) write_commit_graph_reachable(get_object_directory(), 0, |