Thread (25 messages) 25 messages, 6 authors, 2016-06-15

Re: git gc & deleted branches

flat view

From: Nicolas Pitre <hidden>
Date: 2016-06-15 22:44:35

On Fri, 9 May 2008, Brandon Casey wrote:
Geert Bosch wrote:
quoted
On May 9, 2008, at 00:19, Jeff King wrote:
quoted
I like it. It makes an easy rule to say "packed objects _never_ get
pruned, they only get demoted to loose objects." And then of course
we have sane rules for pruning loose objects.
Isn't there an issue with the "git gc" triggering because there
may be too many loose unreferenced objects?
Still, I do like the approach.
This would be an argument for going the extra mile and having the loose
objects adopt the timestamp of their pack file. In the normal case they
would probably be pruned immediately during the same git-gc run.
Well, not necessarily.  If you created a large branch yesterday and you 
are deleting it today, then if you repacked in between means that those 
loose objects won't be more than one day old.  Yet there could be enough 
of them to trigger auto gc.  But that auto gc won't pack those objects 
since they are unreferenced.  Hence auto gc will trigger all the time 
without making any progress.
quoted
Maybe unreferenced objects and old refs should go to a .git/lost+found
directory and be expired from there. This has a couple of benefits:
quoted
  -  Objects will not be accessible by ordinary git commands for a while,
     before they are really removed, avoiding surprises
Unreferenced objects are sometimes used by other repositories which have
this repository listed as an alternate. So it may not be a good idea to
make the unreferenced objects inaccessible.
Nah.  If this is really the case then you shouldn't be running gc at all 
in the first place.


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