My bad. A small detail went through the crack: the real_type of
a delta object is the real_type of its base object.
Without this, the created index will be wrong as the actual object SHA1
won't match the object.
Signed-off-by: Nicolas Pitre <redacted>
---
If you got a corrupted .idx file because of this ('git verify-pack'
should tell) then just toss it and recreate with a fixed 'git
index-pack'.
Could anyone having problems fetching from kernel.org with git from the
next branch confirm that this also fixes that? Thanks.
diff --git a/index-pack.c b/index-pack.c
index 0a917d7..8287ebf 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -517,7 +517,7 @@ static void resolve_delta(struct object_entry *delta_obj,
void *delta_data;
unsigned long delta_size;
- delta_obj->real_type = base->obj->type;
+ delta_obj->real_type = base->obj->real_type;
delta_data = get_data_from_pack(delta_obj);
delta_size = delta_obj->size;
result->obj = delta_obj;