From 4b480c6716a7d8e20e7e510827ea81e7939f335a Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 22 Aug 2008 15:45:53 -0400 Subject: discard revindex data when pack list changes This is needed to fix verify-pack -v with multiple pack arguments. Also, in theory, revindex data (if any) must be discarded whenever reprepare_packed_git() is called. In practice this is hard to trigger though. Signed-off-by: Nicolas Pitre Signed-off-by: Junio C Hamano --- pack-revindex.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'pack-revindex.c') diff --git a/pack-revindex.c b/pack-revindex.c index cd300bdff5..6096b6224a 100644 --- a/pack-revindex.c +++ b/pack-revindex.c @@ -142,3 +142,15 @@ struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs) } while (lo < hi); die("internal error: pack revindex corrupt"); } + +void discard_revindex(void) +{ + if (pack_revindex_hashsz) { + int i; + for (i = 0; i < pack_revindex_hashsz; i++) + if (pack_revindex[i].revindex) + free(pack_revindex[i].revindex); + free(pack_revindex); + pack_revindex_hashsz = 0; + } +} -- cgit v1.2.3