Commit 51d1e83f authored by Linus Torvalds's avatar Linus Torvalds Committed by Junio C Hamano

Do not try futile object pairs when repacking.

In the repacking window, if both objects we are looking at already came
from the same (old) pack-file, don't bother delta'ing them against each
other.

That means that we'll still always check for better deltas for (and
against!) _unpacked_ objects, but assuming incremental repacks, you'll
avoid the delta creation 99% of the time.
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
Signed-off-by: default avatarJunio C Hamano <junkio@cox.net>
parent 75dedd5a
......@@ -987,6 +987,13 @@ static int try_delta(struct unpacked *trg, struct unpacked *src,
if (trg_entry->preferred_base)
return -1;
/*
* We do not bother to try a delta that we discarded
* on an earlier try.
*/
if (trg_entry->in_pack && trg_entry->in_pack == src_entry->in_pack)
return 0;
/*
* If the current object is at pack edge, take the depth the
* objects that depend on the current object into account --
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment