зеркало из https://github.com/microsoft/git.git
Always auto-gc after calling a fast-import transport
After importing anything with fast-import, we should always let the garbage collector do its job, since the objects are written to disk inefficiently. This brings down an initial import of http://selenic.com/hg from about 230 megabytes to about 14. In the future, we may want to make this configurable on a per-remote basis, or maybe teach fast-import about it in the first place. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Родитель
6c34ec79dc
Коммит
da2231ae1c
|
@ -16,6 +16,8 @@
|
||||||
#include "protocol.h"
|
#include "protocol.h"
|
||||||
|
|
||||||
static int debug;
|
static int debug;
|
||||||
|
/* TODO: put somewhere sensible, e.g. git_transport_options? */
|
||||||
|
static int auto_gc = 1;
|
||||||
|
|
||||||
struct helper_data {
|
struct helper_data {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
@ -567,6 +569,12 @@ static int fetch_with_import(struct transport *transport,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
strbuf_release(&buf);
|
strbuf_release(&buf);
|
||||||
|
if (auto_gc) {
|
||||||
|
const char *argv_gc_auto[] = {
|
||||||
|
"gc", "--auto", "--quiet", NULL,
|
||||||
|
};
|
||||||
|
run_command_v_opt(argv_gc_auto, RUN_GIT_CMD);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче