index-pack: Track the object_entry that creates each base_data
authorShawn O. Pearce <spearce@spearce.org>
Mon, 14 Jul 2008 02:07:46 +0000 (22:07 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 15 Jul 2008 13:36:49 +0000 (06:36 -0700)
commit03993e139cafd04c3783902243328442a5b4aa2c
tree3feac0189888fd1513f4e699d3d735a9040351f2
parent4a438cabacdbfa71f59dad127d436bbb49a86f35
index-pack: Track the object_entry that creates each base_data

If we free the data stored within a base_data we need the struct
object_entry to get the data back again for use with another dependent
delta.  Storing the object_entry* in base_data makes it simple to call
get_data_from_pack() to recover the compressed information.

This however means that we must add the missing base object to the end of
our packfile prior to calling resolve_delta() on each of the dependent
deltas.  Adding the base first ensures we can read the base back from the
pack we are indexing, as if it had been included by the remote side.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
index-pack.c