Taylor Blau <me@xxxxxxxxxxxx> writes: > When writing a new multi-pack index, write_midx_internal() attempts to > clean up any auxiliary files (currently just the MIDX's `.rev` file, but > soon to include a `.bitmap`, too) corresponding to the MIDX it's > replacing. > > This step should happen after the new MIDX is written into place, since > doing so beforehand means that the old MIDX could be read without its > corresponding .rev file. > > Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> > --- > midx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/midx.c b/midx.c > index 321c6fdd2f..73b199ca49 100644 > --- a/midx.c > +++ b/midx.c > @@ -1086,10 +1086,11 @@ static int write_midx_internal(const char *object_dir, struct multi_pack_index * > > if (flags & MIDX_WRITE_REV_INDEX) > write_midx_reverse_index(midx_name, midx_hash, &ctx); > - clear_midx_files_ext(the_repository, ".rev", midx_hash); > > commit_lock_file(&lk); > > + clear_midx_files_ext(the_repository, ".rev", midx_hash); This needs to take object_dir into account, no? There are a few more calls to clear_midx_files_ext() added in 15/25 and they use the_repository, too. > cleanup: > for (i = 0; i < ctx.nr; i++) { > if (ctx.info[i].p) {