Re: git-revert is a memory hog
- From
Jeff King <peff@peff.net>
- Date
- Jan 29, 2008, 22:45 UTC
- Message-ID
- <20080129224558.GA4586@coredump.intra.peff.net>
- In-Reply-To
- <7vfxwgmf87.fsf@gitster.siamese.dyndns.org>
On Tue, Jan 29, 2008 at 02:36:24PM -0800, Junio C Hamano wrote:
Show 5 quoted lines
> Hmph. But I wonder why this part does not trigger, even when > you have renamelimit set to 0. > [...] > if (rename_limit <= 0 || rename_limit > 32767) > rename_limit = 32767;
It does trigger; we set the limit to the obscenely high 32767. My matrix was something like 8000x3500.
Show 7 quoted lines
> if (rename_dst_nr > rename_limit && rename_src_nr > rename_limit) > goto cleanup; > if (rename_dst_nr * rename_src_nr > rename_limit * rename_limit) > goto cleanup; > > I wonder if the second one for the overflow avoidance should be > using || instead of &&, though.
Hrm, yes, I think it can still overflow. (e.g., a 2 by 2^32-1 situation). But changing it to || isn't right, either; you would disallow 1 by 101, which is quite do-able (and the normal case for -C -C, I would think).
-Peff