Code

Do not try futile object pairs when repacking.
[git.git] / pack-objects.c
index bed2497b7974bed96a6ac9478807059cb8de17cb..6e1767652c886d48781f7fbeb9599d57b1de09c7 100644 (file)
@@ -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 --