author | Junio C Hamano <gitster@pobox.com> | |
Thu, 29 Jan 2009 07:42:10 +0000 (23:42 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 29 Jan 2009 07:42:10 +0000 (23:42 -0800) |
* np/no-loosen-prune-expire-now:
objects to be pruned immediately don't have to be loosened
objects to be pruned immediately don't have to be loosened
Documentation/config.txt | patch | blob | history | |
builtin-gc.c | patch | blob | history |
index 26551ea6e1bba817bc272243368e082fecaca2f1..2ed868c81a09af9176bd805f819c0b312556891a 100644 (file)
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
gc.pruneexpire::
When 'git-gc' is run, it will call 'prune --expire 2.weeks.ago'.
- Override the grace period with this config variable.
+ Override the grace period with this config variable. The value
+ "now" may be used to disable this grace period and always prune
+ unreachable objects immediately.
gc.reflogexpire::
'git-reflog expire' removes reflog entries older than
diff --git a/builtin-gc.c b/builtin-gc.c
index 781df601c5f95e874297e0e8bec3fddeb929cc2d..f8eae4adb41d9c338c07aa161e7305bb16742a1e 100644 (file)
--- a/builtin-gc.c
+++ b/builtin-gc.c
* there is no need.
*/
if (too_many_packs())
- append_option(argv_repack, "-A", MAX_ADD);
+ append_option(argv_repack,
+ !strcmp(prune_expire, "now") ? "-a" : "-A",
+ MAX_ADD);
else if (!too_many_loose_objects())
return 0;
"run \"git gc\" manually. See "
"\"git help gc\" for more information.\n");
} else
- append_option(argv_repack, "-A", MAX_ADD);
+ append_option(argv_repack,
+ !strcmp(prune_expire, "now") ? "-a" : "-A",
+ MAX_ADD);
if (pack_refs && run_command_v_opt(argv_pack_refs, RUN_GIT_CMD))
return error(FAILED_RUN, argv_pack_refs[0]);