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 surprisesUnreferenced 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