From: Stefan Sperling Subject: Re: reuse deltas while packing To: Ted Bullock Cc: gameoftrees@openbsd.org Date: Sun, 6 Feb 2022 13:07:25 +0100 On Sat, Feb 05, 2022 at 03:16:41PM -0700, Ted Bullock wrote: > Also, when you say a large amount of space in /tmp what sizes are you > seeing, my /tmp is usually pretty small on the older systems I use. I > have 1G in /tmp, will that be large enough for running this on something > like the openbsd repository? The sparce requirement is difficult to predict, but it will require more temp space than the size of the largest pack file in the repository. Deltas found in this pack file will be written to /tmp in decompressed form. The temp space requirement could be significantly larger than the space needed to store the entire repository. As mentioned earlier, we can improve this a bit later by caching deltas in compressed form, but that will require some additional plumbing to work which I did not want to invest time into before sharing what I already have. 1G is definitely too small for packing the OpenBSD repo. Repacking such a large repository in a reasonable timeframe will always require a fast machine, no matter how much we optimize our implementation. I expect that Git would also struggle a lot to do such an expensive operation on your sparc64. You can still test this patch on the machine with small to medium-size repositories of up to a few hundred MB, though. That would be very useful as sparc64 tends to uncover some corner cases occasionally.