The resulting pack should be correct if we have the base somewhere else in the received pack, if we didn't have the base the received pack would be faulty and can't be unpacked as loose objects either. The internal pack index information is not updated correctly anymore. Signed-off-by: Jan Harkes <jaharkes@xxxxxxxxxx> --- builtin-unpack-objects.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/builtin-unpack-objects.c b/builtin-unpack-objects.c index f139308..b95c93c 100644 --- a/builtin-unpack-objects.c +++ b/builtin-unpack-objects.c @@ -246,7 +246,10 @@ static void unpack_delta_entry(unsigned } if (!has_sha1_file(base_sha1)) { - add_delta_to_list(base_sha1, delta_data, delta_size); + if (pack_file) + write_pack_delta(base_sha1, delta_data, delta_size); + else + add_delta_to_list(base_sha1, delta_data, delta_size); return; } base = read_sha1_file(base_sha1, type, &base_size); -- 1.4.2.1 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html