aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2026-03-25 12:58:04 -0700
committerJunio C Hamano <gitster@pobox.com>2026-03-25 12:58:04 -0700
commit105a22cf692a08604bc294ec2c164528889837b0 (patch)
treebb66ea13bcb7b2c9e1bcb7a3c294285579994f2a /Documentation
parentce74208c2fa13943fffa58f168ac27a76d0eb789 (diff)
parentd54da84bd9de09fc339accff553f1fc8a5539154 (diff)
downloadgit-105a22cf692a08604bc294ec2c164528889837b0.tar.xz
Merge branch 'tb/incremental-midx-part-3.2'
Further work on incremental repacking using MIDX/bitmap * tb/incremental-midx-part-3.2: midx: enable reachability bitmaps during MIDX compaction midx: implement MIDX compaction t/helper/test-read-midx.c: plug memory leak when selecting layer midx-write.c: factor fanout layering from `compute_sorted_entries()` midx-write.c: enumerate `pack_int_id` values directly midx-write.c: extract `fill_pack_from_midx()` midx-write.c: introduce `midx_pack_perm()` helper midx: do not require packs to be sorted in lexicographic order midx-write.c: introduce `struct write_midx_opts` midx-write.c: don't use `pack_perm` when assigning `bitmap_pos` t/t5319-multi-pack-index.sh: fix copy-and-paste error in t5319.39 git-multi-pack-index(1): align SYNOPSIS with 'git multi-pack-index -h' git-multi-pack-index(1): remove non-existent incompatibility builtin/multi-pack-index.c: make '--progress' a common option midx: introduce `midx_get_checksum_hex()` midx: rename `get_midx_checksum()` to `midx_get_checksum_hash()` midx: mark `get_midx_checksum()` arguments as const
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/git-multi-pack-index.adoc27
-rw-r--r--Documentation/gitformat-pack.adoc8
2 files changed, 31 insertions, 4 deletions
diff --git a/Documentation/git-multi-pack-index.adoc b/Documentation/git-multi-pack-index.adoc
index 2f642697e9..6125683014 100644
--- a/Documentation/git-multi-pack-index.adoc
+++ b/Documentation/git-multi-pack-index.adoc
@@ -9,7 +9,14 @@ git-multi-pack-index - Write and verify multi-pack-indexes
SYNOPSIS
--------
[verse]
-'git multi-pack-index' [--object-dir=<dir>] [--[no-]bitmap] <sub-command>
+'git multi-pack-index' [<options>] write [--preferred-pack=<pack>]
+ [--[no-]bitmap] [--[no-]incremental] [--[no-]stdin-packs]
+ [--refs-snapshot=<path>]
+'git multi-pack-index' [<options>] compact [--[no-]incremental]
+ [--[no-]bitmap] <from> <to>
+'git multi-pack-index' [<options>] verify
+'git multi-pack-index' [<options>] expire
+'git multi-pack-index' [<options>] repack [--batch-size=<size>]
DESCRIPTION
-----------
@@ -18,6 +25,8 @@ Write or verify a multi-pack-index (MIDX) file.
OPTIONS
-------
+The following command-line options are applicable to all sub-commands:
+
--object-dir=<dir>::
Use given directory for the location of Git objects. We check
`<dir>/packs/multi-pack-index` for the current MIDX file, and
@@ -73,7 +82,21 @@ marker).
Write an incremental MIDX file containing only objects
and packs not present in an existing MIDX layer.
Migrates non-incremental MIDXs to incremental ones when
- necessary. Incompatible with `--bitmap`.
+ necessary.
+--
+
+compact::
+ Write a new MIDX layer containing only objects and packs present
+ in the range `<from>` to `<to>`, where both arguments are
+ checksums of existing layers in the MIDX chain.
++
+--
+ --incremental::
+ Write the result to a MIDX chain instead of writing a
+ stand-alone MIDX.
+
+ --[no-]bitmap::
+ Control whether or not a multi-pack bitmap is written.
--
verify::
diff --git a/Documentation/gitformat-pack.adoc b/Documentation/gitformat-pack.adoc
index 1b4db4aa61..3416edceab 100644
--- a/Documentation/gitformat-pack.adoc
+++ b/Documentation/gitformat-pack.adoc
@@ -374,7 +374,9 @@ HEADER:
The signature is: {'M', 'I', 'D', 'X'}
1-byte version number:
- Git only writes or recognizes version 1.
+ Git writes the version specified by the "midx.version"
+ configuration option, which defaults to 2. It recognizes
+ both versions 1 and 2.
1-byte Object Id Version
We infer the length of object IDs (OIDs) from this value:
@@ -413,7 +415,9 @@ CHUNK DATA:
strings. There is no extra padding between the filenames,
and they are listed in lexicographic order. The chunk itself
is padded at the end with between 0 and 3 NUL bytes to make the
- chunk size a multiple of 4 bytes.
+ chunk size a multiple of 4 bytes. Version 1 MIDXs are required to
+ list their packs in lexicographic order, but version 2 MIDXs may
+ list their packs in any arbitrary order.
Bitmapped Packfiles (ID: {'B', 'T', 'M', 'P'})
Stores a table of two 4-byte unsigned integers in network order.