mirror of
https://github.com/git/git
synced 2024-10-02 14:45:21 +00:00
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>
This commit is contained in:
parent
6b516d984b
commit
1f5c74f6cf
|
@ -1148,8 +1148,6 @@ static void get_object_details(void)
|
||||||
sorted_by_offset[i] = objects + i;
|
sorted_by_offset[i] = objects + i;
|
||||||
qsort(sorted_by_offset, nr_objects, sizeof(*sorted_by_offset), pack_offset_sort);
|
qsort(sorted_by_offset, nr_objects, sizeof(*sorted_by_offset), pack_offset_sort);
|
||||||
|
|
||||||
init_pack_revindex();
|
|
||||||
|
|
||||||
for (i = 0; i < nr_objects; i++)
|
for (i = 0; i < nr_objects; i++)
|
||||||
check_object(sorted_by_offset[i]);
|
check_object(sorted_by_offset[i]);
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,6 @@ static void show_pack_info(struct packed_git *p)
|
||||||
|
|
||||||
nr_objects = p->num_objects;
|
nr_objects = p->num_objects;
|
||||||
memset(chain_histogram, 0, sizeof(chain_histogram));
|
memset(chain_histogram, 0, sizeof(chain_histogram));
|
||||||
init_pack_revindex();
|
|
||||||
|
|
||||||
for (i = 0; i < nr_objects; i++) {
|
for (i = 0; i < nr_objects; i++) {
|
||||||
const unsigned char *sha1;
|
const unsigned char *sha1;
|
||||||
|
|
|
@ -40,7 +40,7 @@ static int pack_revindex_ix(struct packed_git *p)
|
||||||
return -1 - i;
|
return -1 - i;
|
||||||
}
|
}
|
||||||
|
|
||||||
void init_pack_revindex(void)
|
static void init_pack_revindex(void)
|
||||||
{
|
{
|
||||||
int num;
|
int num;
|
||||||
struct packed_git *p;
|
struct packed_git *p;
|
||||||
|
@ -118,9 +118,11 @@ struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs)
|
||||||
struct pack_revindex *rix;
|
struct pack_revindex *rix;
|
||||||
struct revindex_entry *revindex;
|
struct revindex_entry *revindex;
|
||||||
|
|
||||||
|
if (!pack_revindex_hashsz)
|
||||||
|
init_pack_revindex();
|
||||||
num = pack_revindex_ix(p);
|
num = pack_revindex_ix(p);
|
||||||
if (num < 0)
|
if (num < 0)
|
||||||
die("internal error: pack revindex uninitialized");
|
die("internal error: pack revindex fubar");
|
||||||
|
|
||||||
rix = &pack_revindex[num];
|
rix = &pack_revindex[num];
|
||||||
if (!rix->revindex)
|
if (!rix->revindex)
|
||||||
|
|
|
@ -6,7 +6,6 @@ struct revindex_entry {
|
||||||
unsigned int nr;
|
unsigned int nr;
|
||||||
};
|
};
|
||||||
|
|
||||||
void init_pack_revindex(void);
|
|
||||||
struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs);
|
struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue