Go to file
Ramsay Jones 608d33fa67 Add a pack index 'virtual function' to search by file offset
In addition to searching the index by oid, we need to search by
'.pack' file offset, particularly when processing OBJ_OFS_DELTA
objects. Since the v1 and v2 file formats differ in the layout
of the object records, we provide two implementations of the
search function and initialise the (virtual) function pointer
appropriately.

Note that, as part of the creation of the 'offset index', we also
add a check that the offset data in the index is within the bounds
of the '.pack' file. Having sorted the file offsets, while creating
the index, we only need to check the smallest and largest values.

The offset index consists of the im_off_idx array, which contains
the index entry numbers sorted into file offset order, and the
im_off_next mapping array. The im_off_next array maps an index
entry number to the 'next' index entry in file offset order.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
2010-02-28 20:13:29 +00:00
src Add a pack index 'virtual function' to search by file offset 2010-02-28 20:13:29 +00:00
tests Makefile: Add support for custom build options in config.mak file 2010-02-28 20:10:35 +00:00
.gitignore Makefile: Add support for custom build options in config.mak file 2010-02-28 20:10:35 +00:00
.HEADER Switch the license from BSD to GPL+libgcc exception 2008-11-01 15:55:47 -07:00
api.doxygen Fix "'__thread' not at start of declaration" warnings (-Wextra) 2010-01-20 20:19:06 +00:00
CONVENTIONS Move include files to include/git/, drop git_ prefix from file names 2008-11-01 15:42:23 -07:00
COPYING Switch the license from BSD to GPL+libgcc exception 2008-11-01 15:55:47 -07:00
git.git-authors Add Adam Simpkins to list of consenting authors 2008-12-09 08:36:10 -08:00
libgit2.pc.in Add support for installing to a libdir other than 'lib'. 2009-02-01 15:00:10 -08:00
Makefile Makefile: Add support for custom build options in config.mak file 2010-02-28 20:10:35 +00:00