call init_pack_revindex() lazily

This makes life much easier for next patch, as well as being more efficient
when the revindex is actually not used.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/pack-revindex.c b/pack-revindex.c
index a8aa2cd..cd300bd 100644
--- a/pack-revindex.c
+++ b/pack-revindex.c
@@ -40,7 +40,7 @@
 	return -1 - i;
 }
 
-void init_pack_revindex(void)
+static void init_pack_revindex(void)
 {
 	int num;
 	struct packed_git *p;
@@ -118,9 +118,11 @@
 	struct pack_revindex *rix;
 	struct revindex_entry *revindex;
 
+	if (!pack_revindex_hashsz)
+		init_pack_revindex();
 	num = pack_revindex_ix(p);
 	if (num < 0)
-		die("internal error: pack revindex uninitialized");
+		die("internal error: pack revindex fubar");
 
 	rix = &pack_revindex[num];
 	if (!rix->revindex)