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: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Linus Torvalds 2006-06-29 14:04:01 -07:00 коммит произвёл Junio C Hamano
Родитель 75dedd5a21
Коммит 51d1e83f91
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -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 --