mirror of
https://github.com/git/git
synced 2024-11-04 16:17:49 +00:00
midx: replace get_midx_rev_filename()
with a generic helper
Commitf894081dea
(pack-revindex: read multi-pack reverse indexes, 2021-03-30) introduced the `get_midx_rev_filename()` helper (later modified by commit60980aed78
(midx.c: write MIDX filenames to strbuf, 2021-10-26)). This function returns the location of the classic ".rev" files we used to write for MIDXs (prior to95e8383bac
(midx.c: make changing the preferred pack safe, 2022-01-25)), which is always of the form: $GIT_DIR/objects/pack/multi-pack-index-$HASH.rev Replace this function with a generic helper that populates a strbuf with the above form, replacing the ".rev" extension with a caller-provided argument. This will allow us to remove a similarly-defined function in the pack-bitmap code (used to determine the location of a MIDX .bitmap file) by reimplementing it in terms of `get_midx_filename_ext()`. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d6a8c58675
commit
defba632c1
3 changed files with 13 additions and 6 deletions
10
midx.c
10
midx.c
|
@ -25,13 +25,15 @@ const unsigned char *get_midx_checksum(struct multi_pack_index *m)
|
|||
|
||||
void get_midx_filename(struct strbuf *out, const char *object_dir)
|
||||
{
|
||||
strbuf_addf(out, "%s/pack/multi-pack-index", object_dir);
|
||||
get_midx_filename_ext(out, object_dir, NULL, NULL);
|
||||
}
|
||||
|
||||
void get_midx_rev_filename(struct strbuf *out, struct multi_pack_index *m)
|
||||
void get_midx_filename_ext(struct strbuf *out, const char *object_dir,
|
||||
const unsigned char *hash, const char *ext)
|
||||
{
|
||||
get_midx_filename(out, m->object_dir);
|
||||
strbuf_addf(out, "-%s.rev", hash_to_hex(get_midx_checksum(m)));
|
||||
strbuf_addf(out, "%s/pack/multi-pack-index", object_dir);
|
||||
if (ext)
|
||||
strbuf_addf(out, "-%s.%s", hash_to_hex(hash), ext);
|
||||
}
|
||||
|
||||
static int midx_read_oid_fanout(const unsigned char *chunk_start,
|
||||
|
|
6
midx.h
6
midx.h
|
@ -74,9 +74,13 @@ struct multi_pack_index {
|
|||
#define MIDX_WRITE_BITMAP_HASH_CACHE (1 << 3)
|
||||
#define MIDX_WRITE_BITMAP_LOOKUP_TABLE (1 << 4)
|
||||
|
||||
#define MIDX_EXT_REV "rev"
|
||||
#define MIDX_EXT_BITMAP "bitmap"
|
||||
|
||||
const unsigned char *get_midx_checksum(struct multi_pack_index *m);
|
||||
void get_midx_filename(struct strbuf *out, const char *object_dir);
|
||||
void get_midx_rev_filename(struct strbuf *out, struct multi_pack_index *m);
|
||||
void get_midx_filename_ext(struct strbuf *out, const char *object_dir,
|
||||
const unsigned char *hash, const char *ext);
|
||||
|
||||
struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local);
|
||||
int prepare_midx_pack(struct repository *r, struct multi_pack_index *m, uint32_t pack_int_id);
|
||||
|
|
|
@ -381,7 +381,8 @@ int load_midx_revindex(struct multi_pack_index *m)
|
|||
trace2_data_string("load_midx_revindex", the_repository,
|
||||
"source", "rev");
|
||||
|
||||
get_midx_rev_filename(&revindex_name, m);
|
||||
get_midx_filename_ext(&revindex_name, m->object_dir,
|
||||
get_midx_checksum(m), MIDX_EXT_REV);
|
||||
|
||||
ret = load_revindex_from_disk(revindex_name.buf,
|
||||
m->num_objects,
|
||||
|
|
Loading…
Reference in a new issue