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:

committed by
Junio C Hamano

parent
75dedd5a21
commit
51d1e83f91
@ -987,6 +987,13 @@ static int try_delta(struct unpacked *trg, struct unpacked *src,
|
|||||||
if (trg_entry->preferred_base)
|
if (trg_entry->preferred_base)
|
||||||
return -1;
|
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
|
* If the current object is at pack edge, take the depth the
|
||||||
* objects that depend on the current object into account --
|
* objects that depend on the current object into account --
|
||||||
|
Reference in New Issue
Block a user