On 05/16/18 13:14, Martin Fick wrote: > On Wednesday, May 16, 2018 10:58:19 AM Konstantin Ryabitsev > wrote: >> >> 1. Find every repo mentioning the parent repository in >> their alternates 2. Repack them without the -l switch >> (which copies all the borrowed objects into those repos) >> 3. Once all child repos have been repacked this way, prune >> the parent repo (it's safe now) > > This is probably only true if the repos are in read-only > mode? I suspect this is still racy on a busy server with no > downtime.
We don't actually do this anywhere. :) It's a feature I keep hoping to add one day to grokmirror, but keep putting off because of various considerations. As you can imagine, if we have 300 forks of linux.git all using torvalds/linux.git as their alternates, then repacking them all without -l would balloon our disk usage 300-fold. At this time it's just cheaper to keep a bunch of loose objects around forever at the cost of decreased performance. Maybe git-repack can be told to only borrow parent objects if they are in packs. Anything not in packs should be hardlinked into the child repo. That's my wishful think for the day. :) Best, -- Konstantin Ryabitsev Director, IT Infrastructure Security The Linux Foundation
signature.asc
Description: OpenPGP digital signature