Don't try to delta if target is much smaller than source
[gitweb.git] / builtin-pack-objects.c
index b4f3e7c2ebf4f50172c7d8dfa068de7e81fdc9b4..54f304c115065973415d539bb39087bbff9ee999 100644 (file)
@@ -1348,6 +1348,8 @@ static int try_delta(struct unpacked *trg, struct unpacked *src,
        sizediff = src_size < trg_size ? trg_size - src_size : 0;
        if (sizediff >= max_size)
                return 0;
+       if (trg_size < src_size / 32)
+               return 0;
 
        /* Load data if not already done */
        if (!trg->data) {