From: Junio C Hamano Date: Fri, 4 Jan 2019 21:33:32 +0000 (-0800) Subject: Merge branch 'jk/loose-object-cache' X-Git-Tag: v2.21.0-rc0~132 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/3b2f8a02fa9a9e68d5215828e1d97bb4f6996976 Merge branch 'jk/loose-object-cache' Code clean-up with optimization for the codepath that checks (non-)existence of loose objects. * jk/loose-object-cache: odb_load_loose_cache: fix strbuf leak fetch-pack: drop custom loose object cache sha1-file: use loose object cache for quick existence check object-store: provide helpers for loose_objects_cache sha1-file: use an object_directory for the main object dir handle alternates paths the same as the main object dir sha1_file_name(): overwrite buffer instead of appending rename "alternate_object_database" to "object_directory" submodule--helper: prefer strip_suffix() to ends_with() fsck: do not reuse child_process structs --- 3b2f8a02fa9a9e68d5215828e1d97bb4f6996976 diff --cc builtin/grep.c index 71df52a333,714c8d91ba..bad9c0a3d5 --- a/builtin/grep.c +++ b/builtin/grep.c @@@ -437,7 -440,8 +437,7 @@@ static int grep_submodule(struct grep_o * store is no longer global and instead is a member of the repository * object. */ - add_to_alternates_memory(submodule.objects->objectdir); - grep_read_lock(); + add_to_alternates_memory(submodule.objects->odb->path); grep_read_unlock(); if (oid) { diff --cc midx.c index 2a6a24fcd7,4fac0cd08a..8a505fd423 --- a/midx.c +++ b/midx.c @@@ -929,14 -914,9 +929,14 @@@ cleanup return 0; } -void clear_midx_file(const char *object_dir) +void clear_midx_file(struct repository *r) { - char *midx = get_midx_filename(r->objects->objectdir); - char *midx = get_midx_filename(object_dir); ++ char *midx = get_midx_filename(r->objects->odb->path); + + if (r->objects && r->objects->multi_pack_index) { + close_midx(r->objects->multi_pack_index); + r->objects->multi_pack_index = NULL; + } if (remove_path(midx)) { UNLEAK(midx);