Thread (5 messages) flat view 5 messages, 5 authors, 2016-06-15

Re: People unaware of the importance of "git gc"?

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:34

Junio C Hamano [off-list ref] wrote:
Johannes Schindelin [off-list ref] writes:
quoted
On Wed, 5 Sep 2007, Junio C Hamano wrote:
quoted
 static int aggressive_window = -1;
+static int gc_auto_threshold = 6700;
Please don't do that.

When you share objects with another git directory, git-gc --auto can get 
rid of the objects when some objects go away in the referenced repository.  
I thought the whole point of "gc --auto" was to have something
that does not lose/prune any objects, even the ones that do not
seem to be referenced from anywhere.  That is why invocations of
"git gc --auto" do not say --prune as you saw the second patch,
and the repack command "gc --auto" runs is "repack -d -l"
instead of "repack -a -d -l", which means that it does run
git-prune-packed after repacking but not git-prune.

Maybe I am missing something...
No, you aren't Junio.  `gc --auto` as you defined it is safe.
It won't delete objects from the database.  So it won't impact shared
repositories, or readers that are actively running in parallel with
the gc.  Both of which are important.

-- 
Shawn.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help