From: Shawn Pearce Date: Wed, 20 Sep 2006 21:42:03 GMT Subject: Re: [PATCH] Added --mirror-all to git-fetch. Message-ID: <20060920214203.GE24415@spearce.org> In-Reply-To: <7vslimfcf9.fsf@assigned-by-dhcp.cox.net> Junio C Hamano wrote: > Shawn Pearce writes: > > >> > (the archive vs active repacking strategy we talked about, > >> > >> Hmm, I think I've missed this, I must look that in the archive. > > > > Junio pushed the core code out but nobody has done the Porecelain > > for it. The basic idea is to prevent repacking every pack all of > > the time; there's probably no reason to repack a 100 MiB pack file > > every time you repack your loose objects so you might want to keep > > say a <5 MiB "active pack" holding your recent created objects > > and repack that frequently and a larger 100+ MiB "history pack" > > holding everything else. Maybe you repack everything on a longer > > time scale, such as once a year. > > And IIRC we were stuck on the convention to tell which ones are > archives and which ones are actives (i.e. fair game for > repacking). We were trying to figure out how to mark active > ones (whose name changes every time you repack). Yes. I had pretty much given up on a size threshold concept and was thus in agreement with you that we just needed a way to flag each pack file... > I realized that there is a very simple and obvious solution for > it. Introduce $GIT_OBJECT_DIRECTORY/info/archived-packs, a flat > text file that lists the names of the archive packs. Any pack > not listed there are active one and are subject to repacking. Like that. :-) -- Shawn.