зеркало из https://github.com/microsoft/git.git
object-store: factor out odb_clear_loose_cache()
Add and use a function for emptying the loose object cache, so callers don't have to know any of its implementation details. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
0000d6543f
Коммит
d4e19e5163
|
@ -61,6 +61,9 @@ void odb_load_loose_cache(struct object_directory *odb, int subdir_nr);
|
|||
struct oid_array *odb_loose_cache(struct object_directory *odb,
|
||||
const struct object_id *oid);
|
||||
|
||||
/* Empty the loose object cache for the specified object directory. */
|
||||
void odb_clear_loose_cache(struct object_directory *odb);
|
||||
|
||||
struct packed_git {
|
||||
struct packed_git *next;
|
||||
struct list_head mru;
|
||||
|
|
2
object.c
2
object.c
|
@ -485,7 +485,7 @@ struct raw_object_store *raw_object_store_new(void)
|
|||
static void free_object_directory(struct object_directory *odb)
|
||||
{
|
||||
free(odb->path);
|
||||
oid_array_clear(&odb->loose_objects_cache);
|
||||
odb_clear_loose_cache(odb);
|
||||
free(odb);
|
||||
}
|
||||
|
||||
|
|
|
@ -994,11 +994,8 @@ void reprepare_packed_git(struct repository *r)
|
|||
{
|
||||
struct object_directory *odb;
|
||||
|
||||
for (odb = r->objects->odb; odb; odb = odb->next) {
|
||||
oid_array_clear(&odb->loose_objects_cache);
|
||||
memset(&odb->loose_objects_subdir_seen, 0,
|
||||
sizeof(odb->loose_objects_subdir_seen));
|
||||
}
|
||||
for (odb = r->objects->odb; odb; odb = odb->next)
|
||||
odb_clear_loose_cache(odb);
|
||||
|
||||
r->objects->approximate_object_count_valid = 0;
|
||||
r->objects->packed_git_initialized = 0;
|
||||
|
|
|
@ -2178,6 +2178,13 @@ void odb_load_loose_cache(struct object_directory *odb, int subdir_nr)
|
|||
strbuf_release(&buf);
|
||||
}
|
||||
|
||||
void odb_clear_loose_cache(struct object_directory *odb)
|
||||
{
|
||||
oid_array_clear(&odb->loose_objects_cache);
|
||||
memset(&odb->loose_objects_subdir_seen, 0,
|
||||
sizeof(odb->loose_objects_subdir_seen));
|
||||
}
|
||||
|
||||
static int check_stream_sha1(git_zstream *stream,
|
||||
const char *hdr,
|
||||
unsigned long size,
|
||||
|
|
Загрузка…
Ссылка в новой задаче