Merge branch 'jk/midx-write-v1-by-default'

As writing version 2 MIDX files by default breaks older versions of
Git and its reimplementations, use V2 only when necessary.

* jk/midx-write-v1-by-default:
  MIDX: revert the default version to v1
This commit is contained in:
Junio C Hamano committed 2026-04-16 15:43:26 -07:00
commit e60b8306f1
3 files changed
+7 -2

No files matched your search

+3
View File
@@ -98,6 +98,9 @@ compact::
--[no-]bitmap::
Control whether or not a multi-pack bitmap is written.
--
+
Note that the compact command requires writing a version-2 midx that
cannot be read by versions of Git prior to v2.54.
verify::
Verify the contents of the MIDX file.
+3 -1
View File
@@ -1259,7 +1259,6 @@ static int write_midx_internal(struct write_midx_opts *opts)
struct tempfile *incr;
struct write_midx_context ctx = {
.preferred_pack_idx = NO_PREFERRED_PACK,
.version = MIDX_VERSION_V2,
};
struct multi_pack_index *midx_to_free = NULL;
int bitmapped_packs_concat_len = 0;
@@ -1275,6 +1274,9 @@ static int write_midx_internal(struct write_midx_opts *opts)
ctx.repo = r;
ctx.source = opts->source;
ctx.version = ((opts->flags & MIDX_WRITE_COMPACT)
? MIDX_VERSION_V2
: MIDX_VERSION_V1);
repo_config_get_int(ctx.repo, "midx.version", &ctx.version);
if (ctx.version != MIDX_VERSION_V1 && ctx.version != MIDX_VERSION_V2)
die(_("unknown MIDX version: %d"), ctx.version);
+1 -1
View File
@@ -21,7 +21,7 @@ midx_read_expect () {
EXTRA_CHUNKS="$5"
{
cat <<-EOF &&
header: 4d494458 2 $HASH_LEN $NUM_CHUNKS $NUM_PACKS
header: 4d494458 1 $HASH_LEN $NUM_CHUNKS $NUM_PACKS
chunks: pack-names oid-fanout oid-lookup object-offsets$EXTRA_CHUNKS
num_objects: $NUM_OBJECTS
packs: