[PATCH] fix for "index-pack: rationalize delta resolution code"
- From
Nicolas Pitre <nico@cam.org>
- Date
- Oct 20, 2008, 18:12 UTC
- Message-ID
- <alpine.LFD.2.00.0810201357340.26244@xanadu.home>
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 <nico@cam.org> ---
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;