зеркало из https://github.com/microsoft/git.git
fetch: release pack files before garbage-collecting
Before auto-gc'ing, we need to make sure that the pack files are released in case they need to be repacked and garbage-collected. This fixes https://github.com/git-for-windows/git/issues/500 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
754884255b
Коммит
0898c96281
|
@ -1221,6 +1221,8 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
|
||||||
list.strdup_strings = 1;
|
list.strdup_strings = 1;
|
||||||
string_list_clear(&list, 0);
|
string_list_clear(&list, 0);
|
||||||
|
|
||||||
|
close_all_packs();
|
||||||
|
|
||||||
argv_array_pushl(&argv_gc_auto, "gc", "--auto", NULL);
|
argv_array_pushl(&argv_gc_auto, "gc", "--auto", NULL);
|
||||||
if (verbosity < 0)
|
if (verbosity < 0)
|
||||||
argv_array_push(&argv_gc_auto, "--quiet");
|
argv_array_push(&argv_gc_auto, "--quiet");
|
||||||
|
|
|
@ -708,4 +708,17 @@ test_expect_success 'fetching a one-level ref works' '
|
||||||
)
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'fetching with auto-gc does not lock up' '
|
||||||
|
write_script askyesno <<-\EOF &&
|
||||||
|
echo "$*" &&
|
||||||
|
false
|
||||||
|
EOF
|
||||||
|
git clone "file://$D" auto-gc &&
|
||||||
|
test_commit test2 &&
|
||||||
|
cd auto-gc &&
|
||||||
|
git config gc.autoPackLimit 1 &&
|
||||||
|
GIT_ASK_YESNO="$D/askyesno" git fetch >fetch.out 2>&1 &&
|
||||||
|
! grep "Should I try again" fetch.out
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Загрузка…
Ссылка в новой задаче