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:
Junio C Hamano 2013-02-01 12:40:16 -08:00
Родитель 97fbc23ad7 012a1bb524
Коммит 4acfff9dda
2 изменённых файлов: 8 добавлений и 0 удалений

Просмотреть файл

@ -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;