Re: [PATCH] pack-objects: only throw away data during memory pressure
- From
Brian Downing <bdowning@lavos.net>
- Date
- Feb 12, 2008, 08:22 UTC
- Message-ID
- <20080212082211.GE27535@lavos.net>
- In-Reply-To
- <alpine.LFD.1.00.0802110942310.2732@xanadu.home>
On Mon, Feb 11, 2008 at 11:00:33AM -0500, Nicolas Pitre wrote:
Show 12 quoted lines
> On Mon, 11 Feb 2008, Martin Koegler wrote: > > If pack-objects hit the memory limit, it deletes objects from the > > delta window. > > > > This patch make it only delete the data, which is recomputed, if > > needed again. > > > > Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> > > Looks fine. > > Acked-by: Nicolas Pitre <nico@cam.org>
Unfortunately this patch (if I understand what it's doing correctly) basically defeats my intended use-case for which I wrote the memory limiter. I have a repository with files of very mixed size. I want the window to be very large for small files, for good archival repacking, but I don't want it to be very large for my 20+MB files with hundreds of revisions, because I want it to finish someday.
Also, I've gotten into the habit of just doing:
git repack --window=100000 --window-memory=256m
for archival repacks and just letting the memory limit automatically
size the window. Basically, I don't really want to specify a window
size, I just want it to use 512mb of RAM (and go at the speed that size
of a window would entail.) While this is slow, it tends to be a
relatively constant speed, and it tends to find some very interesting
deltas in my trees that I wouldn't have otherwise expected.If this patch is accepted, I'd really like a way to maintain the old behavior as an option.
-bcd