зеркало из https://github.com/microsoft/git.git
Merge branch 'jk/gc-auto-after-fetch'
Help "fetch only" repositories that do not trigger "gc --auto" often enough. * jk/gc-auto-after-fetch: fetch-pack: avoid repeatedly re-scanning pack directory fetch: run gc --auto after fetching
This commit is contained in:
Коммит
4acfff9dda
|
@ -962,6 +962,9 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
|
||||||
struct string_list list = STRING_LIST_INIT_NODUP;
|
struct string_list list = STRING_LIST_INIT_NODUP;
|
||||||
struct remote *remote;
|
struct remote *remote;
|
||||||
int result = 0;
|
int result = 0;
|
||||||
|
static const char *argv_gc_auto[] = {
|
||||||
|
"gc", "--auto", NULL,
|
||||||
|
};
|
||||||
|
|
||||||
packet_trace_identity("fetch");
|
packet_trace_identity("fetch");
|
||||||
|
|
||||||
|
@ -1041,5 +1044,7 @@ 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);
|
||||||
|
|
||||||
|
run_command_v_opt(argv_gc_auto, RUN_GIT_CMD);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -594,6 +594,9 @@ static int everything_local(struct fetch_pack_args *args,
|
||||||
for (ref = *refs; ref; ref = ref->next) {
|
for (ref = *refs; ref; ref = ref->next) {
|
||||||
struct object *o;
|
struct object *o;
|
||||||
|
|
||||||
|
if (!has_sha1_file(ref->old_sha1))
|
||||||
|
continue;
|
||||||
|
|
||||||
o = parse_object(ref->old_sha1);
|
o = parse_object(ref->old_sha1);
|
||||||
if (!o)
|
if (!o)
|
||||||
continue;
|
continue;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче