On Sun, Jul 7, 2013 at 3:11 PM, Thomas Gummerer <t.gummerer@xxxxxxxxx> wrote: > Add an api for access to the index file. Currently there is only a very > basic api for accessing the index file, which only allows a full read of > the index, and lets the users of the data filter it. The new index api > gives the users the possibility to use only part of the index and > provides functions for iterating over and accessing cache entries. > > This simplifies future improvements to the in-memory format, as changes > will be concentrated on one file, instead of the whole git source code. > > Signed-off-by: Thomas Gummerer <t.gummerer@xxxxxxxxx> > --- > cache.h | 57 +++++++++++++++++++++++++++++- > read-cache-v2.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++-- > read-cache.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- > read-cache.h | 12 ++++++- > 4 files changed, 263 insertions(+), 10 deletions(-) > > diff --git a/cache.h b/cache.h > index 5082b34..d38dfbd 100644 > --- a/cache.h > +++ b/cache.h > @@ -127,7 +127,8 @@ struct cache_entry { > unsigned int ce_flags; > unsigned int ce_namelen; > unsigned char sha1[20]; > - struct cache_entry *next; > + struct cache_entry *next; /* used by name_hash */ > + struct cache_entry *next_ce; /* used to keep a list of cache entries */ > char name[FLEX_ARRAY]; /* more */ > };