Re: git-revert is a memory hog
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:09
Jeff King [off-list ref] writes:
On Wed, Jan 30, 2008 at 08:51:09AM +1100, Linus Torvalds wrote:quoted
I definitely can reproduce it, it's horrid. This is from "top" fairly late in the game, but with the thing not even done yet. Current git, pretty much fully (and fairly aggressively) packed current kernel repo, and using "diff.renamelmit=0".Hrm, setting diff.renamelimit to 0 lets me reproduce (I thought I tried it before, but clearly not...).
Hmph. But I wonder why this part does not trigger, even when you have renamelimit set to 0. /* * This basically does a test for the rename matrix not * growing larger than a "rename_limit" square matrix, ie: * * rename_dst_nr * rename_src_nr > rename_limit * rename_limit * * but handles the potential overflow case specially (and we * assume at least 32-bit integers) */ if (rename_limit <= 0 || rename_limit > 32767) rename_limit = 32767; 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.