Skip to content

Commit 1f5c74f

Browse files
Nicolas Pitregitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 6b516d9 commit 1f5c74f

File tree

4 files changed

+4
-6
lines changed

4 files changed

+4
-6
lines changed

builtin-pack-objects.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,8 +1148,6 @@ static void get_object_details(void)
11481148
sorted_by_offset[i] = objects + i;
11491149
qsort(sorted_by_offset, nr_objects, sizeof(*sorted_by_offset), pack_offset_sort);
11501150

1151-
init_pack_revindex();
1152-
11531151
for (i = 0; i < nr_objects; i++)
11541152
check_object(sorted_by_offset[i]);
11551153

pack-check.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ static void show_pack_info(struct packed_git *p)
107107

108108
nr_objects = p->num_objects;
109109
memset(chain_histogram, 0, sizeof(chain_histogram));
110-
init_pack_revindex();
111110

112111
for (i = 0; i < nr_objects; i++) {
113112
const unsigned char *sha1;

pack-revindex.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ static int pack_revindex_ix(struct packed_git *p)
4040
return -1 - i;
4141
}
4242

43-
void init_pack_revindex(void)
43+
static void init_pack_revindex(void)
4444
{
4545
int num;
4646
struct packed_git *p;
@@ -118,9 +118,11 @@ struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs)
118118
struct pack_revindex *rix;
119119
struct revindex_entry *revindex;
120120

121+
if (!pack_revindex_hashsz)
122+
init_pack_revindex();
121123
num = pack_revindex_ix(p);
122124
if (num < 0)
123-
die("internal error: pack revindex uninitialized");
125+
die("internal error: pack revindex fubar");
124126

125127
rix = &pack_revindex[num];
126128
if (!rix->revindex)

pack-revindex.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ struct revindex_entry {
66
unsigned int nr;
77
};
88

9-
void init_pack_revindex(void);
109
struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs);
1110

1211
#endif

0 commit comments

Comments
 (0)