git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Invoke "gc --auto" from git commit
@ 2008-11-25 16:15 Jean-Luc Herren
  2008-11-25 23:57 ` Johannes Schindelin
  0 siblings, 1 reply; 4+ messages in thread
From: Jean-Luc Herren @ 2008-11-25 16:15 UTC (permalink / raw)
  To: Git Mailing List, Junio C Hamano

This feature was lost during the port of git commit to C.

Signed-off-by: Jean-Luc Herren <jlh@gmx.ch>
---
 builtin-commit.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/builtin-commit.c b/builtin-commit.c
index 591d16b..209805b 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -947,6 +947,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
 	struct commit_list *parents = NULL, **pptr = &parents;
 	struct stat statbuf;
 	int allow_fast_forward = 1;
+	const char *argv_gc_auto[] = { "gc", "--auto", NULL };
 
 	git_config(git_commit_config, NULL);
 
@@ -1068,6 +1069,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
 		     "not exceeded, and then \"git reset HEAD\" to recover.");
 
 	rerere();
+	run_command_v_opt(argv_gc_auto, RUN_GIT_CMD);
 	run_hook(get_index_file(), "post-commit", NULL);
 	if (!quiet)
 		print_summary(prefix, commit_sha1);
-- 
1.6.0.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Invoke "gc --auto" from git commit
  2008-11-25 16:15 [PATCH] Invoke "gc --auto" from git commit Jean-Luc Herren
@ 2008-11-25 23:57 ` Johannes Schindelin
  2008-11-26  1:00   ` Jean-Luc Herren
  0 siblings, 1 reply; 4+ messages in thread
From: Johannes Schindelin @ 2008-11-25 23:57 UTC (permalink / raw)
  To: Jean-Luc Herren; +Cc: Git Mailing List, Junio C Hamano

Hi,

On Tue, 25 Nov 2008, Jean-Luc Herren wrote:

> This feature was lost during the port of git commit to C.

See http://article.gmane.org/gmane.comp.version-control.git/82125

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Invoke "gc --auto" from git commit
  2008-11-25 23:57 ` Johannes Schindelin
@ 2008-11-26  1:00   ` Jean-Luc Herren
  2008-11-26 12:37     ` Johannes Schindelin
  0 siblings, 1 reply; 4+ messages in thread
From: Jean-Luc Herren @ 2008-11-26  1:00 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Git Mailing List, Junio C Hamano

Johannes Schindelin wrote:
> On Tue, 25 Nov 2008, Jean-Luc Herren wrote:
>> This feature was lost during the port of git commit to C.
> 
> See http://article.gmane.org/gmane.comp.version-control.git/82125

Oh, I missed that.  But then the only commands ever invoking git
gc --auto would be git rebase -i, git merge, git svn and git am.
I don't know if some people have repositories where they never use
any of those, but I certainly have repositories where I only ever
use git rebase -i and never any of the other.  'git commit' is
something everyone is bound to use and thus it would be the best
place for running 'git gc --auto'.

As for the performance impact, on my machine 'git gc --auto' runs
500 times per second in a loop on the git repository (it won't
call the hook unless repacking is necessary).  I suppose any
script calling git commit in a loop would do substantially more
work than git gc --auto itself.  And if that bit of performance
really matters, it could be invoked by git commit only if (rand()
% 20 == 0).

My two cents anyway.

jlh

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Invoke "gc --auto" from git commit
  2008-11-26  1:00   ` Jean-Luc Herren
@ 2008-11-26 12:37     ` Johannes Schindelin
  0 siblings, 0 replies; 4+ messages in thread
From: Johannes Schindelin @ 2008-11-26 12:37 UTC (permalink / raw)
  To: Jean-Luc Herren; +Cc: Git Mailing List, Junio C Hamano

Hi,

On Wed, 26 Nov 2008, Jean-Luc Herren wrote:

> As for the performance impact, on my machine 'git gc --auto' runs
> 500 times per second in a loop on the git repository (it won't
> call the hook unless repacking is necessary).

Ummm.

How many people do you think share your luck?  git.git is _small_.  Your 
machine is _fast_.  It is the typical mistake in IT, not thinking about 
real-world cases...

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-11-26 12:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-25 16:15 [PATCH] Invoke "gc --auto" from git commit Jean-Luc Herren
2008-11-25 23:57 ` Johannes Schindelin
2008-11-26  1:00   ` Jean-Luc Herren
2008-11-26 12:37     ` Johannes Schindelin

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).