summaryrefslogtreecommitdiff
path: root/builtin/fetch.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2016-02-05 14:54:13 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2016-02-05 14:54:13 -0800
commitf748e6916749e35fc54c24eb6e02e1182c62a052 (patch)
tree48c857eefa9b5c985feab4fcbcd38ed26c16a2fd /builtin/fetch.c
parentMerge branch 'jk/ok-to-fail-gc-auto-in-rebase' into maint (diff)
parentreceive-pack: release pack files before garbage-collecting (diff)
downloadtgif-f748e6916749e35fc54c24eb6e02e1182c62a052.tar.xz
Merge branch 'js/close-packs-before-gc' into maint
Many codepaths that run "gc --auto" before exiting kept packfiles mapped and left the file descriptors to them open, which was not friendly to systems that cannot remove files that are open. They now close the packs before doing so. * js/close-packs-before-gc: receive-pack: release pack files before garbage-collecting merge: release pack files before garbage-collecting am: release pack files before garbage-collecting fetch: release pack files before garbage-collecting
Diffstat (limited to 'builtin/fetch.c')
-rw-r--r--builtin/fetch.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 9e24bb485f..17f40e10f6 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1221,6 +1221,8 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
list.strdup_strings = 1;
string_list_clear(&list, 0);
+ close_all_packs();
+
argv_array_pushl(&argv_gc_auto, "gc", "--auto", NULL);
if (verbosity < 0)
argv_array_push(&argv_gc_auto, "--quiet");