aboutsummaryrefslogtreecommitdiff
path: root/pack-revindex.h
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2013-10-24 14:00:36 -0400
committerJunio C Hamano <gitster@pobox.com>2013-10-24 15:44:45 -0700
commit92e5c77c3791567e299cc858a7ddfed410e2cec5 (patch)
treed1ebaa237003dbcfedce34f584306e5393d8a419 /pack-revindex.h
parente74435a5169b56be901196ad172b4dbda124254d (diff)
downloadgit-92e5c77c3791567e299cc858a7ddfed410e2cec5.tar.gz
git-92e5c77c3791567e299cc858a7ddfed410e2cec5.tar.xz
revindex: export new APIs
Allow users to efficiently lookup consecutive entries that are expected to be found on the same revindex by exporting `find_revindex_position`: this function takes a pointer to revindex itself, instead of looking up the proper revindex for a given packfile on each call. Signed-off-by: Vicent Marti <tanoku@gmail.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pack-revindex.h')
-rw-r--r--pack-revindex.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/pack-revindex.h b/pack-revindex.h
index 8d5027ad9..866ca9c57 100644
--- a/pack-revindex.h
+++ b/pack-revindex.h
@@ -6,6 +6,14 @@ struct revindex_entry {
unsigned int nr;
};
+struct pack_revindex {
+ struct packed_git *p;
+ struct revindex_entry *revindex;
+};
+
+struct pack_revindex *revindex_for_pack(struct packed_git *p);
+int find_revindex_position(struct pack_revindex *pridx, off_t ofs);
+
struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs);
void discard_revindex(void);