зеркало из https://github.com/microsoft/git.git
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:
Родитель
6b516d984b
Коммит
1f5c74f6cf
|
@ -1148,8 +1148,6 @@ static void get_object_details(void)
|
|||
sorted_by_offset[i] = objects + i;
|
||||
qsort(sorted_by_offset, nr_objects, sizeof(*sorted_by_offset), pack_offset_sort);
|
||||
|
||||
init_pack_revindex();
|
||||
|
||||
for (i = 0; i < nr_objects; 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;
|
||||
memset(chain_histogram, 0, sizeof(chain_histogram));
|
||||
init_pack_revindex();
|
||||
|
||||
for (i = 0; i < nr_objects; i++) {
|
||||
const unsigned char *sha1;
|
||||
|
|
|
@ -40,7 +40,7 @@ static int pack_revindex_ix(struct packed_git *p)
|
|||
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 revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs)
|
|||
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)
|
||||
|
|
|
@ -6,7 +6,6 @@ struct revindex_entry {
|
|||
unsigned int nr;
|
||||
};
|
||||
|
||||
void init_pack_revindex(void);
|
||||
struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs);
|
||||
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче