From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Brandon Casey <casey@nrlssc.navy.mil>,
Jakub Narebski <jnareb@gmail.com>, Nicolas Pitre <nico@cam.org>,
git@vger.kernel.org
Subject: Re: [PATCH v4] gc: call "prune --expire 2.weeks.ago" by default
Date: Wed, 12 Mar 2008 21:56:31 +0100 (CET) [thread overview]
Message-ID: <alpine.LSU.1.00.0803122156080.1656@racer.site> (raw)
In-Reply-To: <alpine.LSU.1.00.0803122153440.1656@racer.site>
And here is the interdiff:
Documentation/config.txt | 5 ++---
Documentation/git-gc.txt | 23 +++++------------------
builtin-gc.c | 9 ++-------
3 files changed, 9 insertions(+), 28 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index db5b2dc..a2f1df2 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -591,9 +591,8 @@ gc.packrefs::
prevent `git pack-refs` from being run from `git gc`.
gc.pruneexpire::
- When `git gc` is run without `--prune`, it will still call
- `prune`, but with `--expire 2.weeks.ago`. Override the value
- with this config variable.
+ When `git gc` is run, it will call `prune --expire 2.weeks.ago`.
+ Override the grace period with this config variable.
gc.reflogexpire::
`git reflog expire` removes reflog entries older than
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt
index 2042d9f..229a7c9 100644
--- a/Documentation/git-gc.txt
+++ b/Documentation/git-gc.txt
@@ -8,7 +8,7 @@ git-gc - Cleanup unnecessary files and optimize the local repository
SYNOPSIS
--------
-'git-gc' [--prune] [--aggressive] [--auto] [--quiet]
+'git-gc' [--aggressive] [--auto] [--quiet]
DESCRIPTION
-----------
@@ -25,23 +25,6 @@ operating performance. Some git commands may automatically run
OPTIONS
-------
---prune::
- Usually `git-gc` packs refs, expires old reflog entries,
- packs loose objects,
- and removes old 'rerere' records. Unilateral removal
- of unreferenced loose objects is an unsafe operation
- while other git operations are in progress, so it is not
- done by default.
-+
-Instead, `git-prune` is called with an option telling it to expire
-only unreferenced loose objects that are at least 2 weeks old. Set
-the config variable `gc.pruneexpire` to override this grace period.
-+
-Pass `--prune` to expire all unreferenced loose objects, but only
-when you know nobody else is creating new objects in the
-repository at the same time (e.g. never use this option
-in a cron script).
-
--aggressive::
Usually 'git-gc' runs very quickly while providing good disk
space utilization and performance. This option will cause
@@ -110,6 +93,10 @@ the value, the more time is spent optimizing the delta compression. See
the documentation for the --window' option in linkgit:git-repack[1] for
more details. This defaults to 10.
+The optional configuration variable 'gc.pruneExpire' controls how old
+the unreferenced loose objects have to be before they are pruned. The
+default is "2 weeks ago".
+
See Also
--------
linkgit:git-prune[1]
diff --git a/builtin-gc.c b/builtin-gc.c
index 9663fae..8bd54d8 100644
--- a/builtin-gc.c
+++ b/builtin-gc.c
@@ -32,7 +32,7 @@ static char *prune_expire = "2.weeks.ago";
static const char *argv_pack_refs[] = {"pack-refs", "--all", "--prune", NULL};
static const char *argv_reflog[] = {"reflog", "expire", "--all", NULL};
static const char *argv_repack[MAX_ADD] = {"repack", "-d", "-l", NULL};
-static const char *argv_prune[] = {"prune", NULL, NULL, NULL};
+static const char *argv_prune[] = {"prune", "--expire", NULL, NULL};
static const char *argv_rerere[] = {"rerere", "gc", NULL};
static int gc_config(const char *var, const char *value)
@@ -245,12 +245,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)
if (run_command_v_opt(argv_repack, RUN_GIT_CMD))
return error(FAILED_RUN, argv_repack[0]);
- if (!prune) {
- argv_prune[1] = "--expire";
- argv_prune[2] = prune_expire;
- argv_prune[3] = NULL;
- }
-
+ argv_prune[2] = prune_expire;
if (run_command_v_opt(argv_prune, RUN_GIT_CMD))
return error(FAILED_RUN, argv_prune[0]);
next prev parent reply other threads:[~2008-03-12 20:57 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-11 20:58 [PATCH] gc: call "prune --expire 2.weeks.ago" Johannes Schindelin
2008-03-12 2:13 ` Junio C Hamano
2008-03-12 2:37 ` Nicolas Pitre
2008-03-12 6:49 ` Junio C Hamano
2008-03-12 10:57 ` Johannes Schindelin
2008-03-12 15:45 ` Nicolas Pitre
2008-03-12 15:53 ` Pieter de Bie
2008-03-12 16:05 ` Johannes Schindelin
2008-03-12 17:01 ` Jeff King
2008-03-12 22:50 ` Pieter de Bie
2008-03-12 23:20 ` Junio C Hamano
2008-03-12 23:30 ` Johannes Schindelin
2008-03-12 23:41 ` Junio C Hamano
2008-03-12 16:20 ` Geert Bosch
2008-03-12 15:07 ` Nicolas Pitre
2008-03-12 15:32 ` Marko Kreen
2008-03-12 17:35 ` [PATCH v2] gc: call "prune --expire 2.weeks.ago" by default Johannes Schindelin
2008-03-12 17:56 ` Brandon Casey
2008-03-12 18:35 ` Jakub Narebski
2008-03-12 19:07 ` Johannes Schindelin
2008-03-12 19:12 ` Junio C Hamano
2008-03-12 19:38 ` Johannes Schindelin
2008-03-12 19:53 ` [PATCH v3] " Johannes Schindelin
2008-03-12 19:55 ` Johannes Schindelin
2008-03-12 19:55 ` [PATCH v2] " Brandon Casey
2008-03-12 19:59 ` Johannes Schindelin
2008-03-12 20:25 ` Brandon Casey
2008-03-12 20:35 ` Junio C Hamano
2008-03-12 20:55 ` [PATCH v4] " Johannes Schindelin
2008-03-12 20:56 ` Johannes Schindelin [this message]
2008-03-12 21:20 ` Junio C Hamano
2008-03-12 22:40 ` Nicolas Pitre
2008-03-12 22:50 ` Johannes Schindelin
2008-03-12 23:13 ` Junio C Hamano
2008-03-12 23:28 ` Johannes Schindelin
2008-03-12 23:39 ` Junio C Hamano
2008-03-12 23:43 ` Johannes Schindelin
2008-03-13 9:48 ` Wincent Colaiuta
2008-03-13 10:17 ` Johannes Sixt
2008-03-13 9:21 ` Wincent Colaiuta
2008-03-13 11:11 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LSU.1.00.0803122156080.1656@racer.site \
--to=johannes.schindelin@gmx.de \
--cc=casey@nrlssc.navy.mil \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jnareb@gmail.com \
--cc=nico@cam.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).