blob: 642d9ac5b723652f339fa45b03ea67806d44f735 [file] [log] [blame]
Derrick Stolee6a257f02018-07-12 15:39:20 -04001git-multi-pack-index(1)
2=======================
3
4NAME
5----
6git-multi-pack-index - Write and verify multi-pack-indexes
7
8
9SYNOPSIS
10--------
11[verse]
William Baker680cba22019-10-21 18:40:03 +000012'git multi-pack-index' [--object-dir=<dir>] [--[no-]progress] <subcommand>
Derrick Stolee6a257f02018-07-12 15:39:20 -040013
14DESCRIPTION
15-----------
16Write or verify a multi-pack-index (MIDX) file.
17
18OPTIONS
19-------
20
21--object-dir=<dir>::
22 Use given directory for the location of Git objects. We check
23 `<dir>/packs/multi-pack-index` for the current MIDX file, and
24 `<dir>/packs` for the pack-files to index.
25
William Baker680cba22019-10-21 18:40:03 +000026--[no-]progress::
27 Turn progress on/off explicitly. If neither is specified, progress is
28 shown if standard error is connected to a terminal.
29
Derrick Stolee81efa162019-06-10 16:35:22 -070030The following subcommands are available:
31
Derrick Stoleea3407732018-07-12 15:39:21 -040032write::
Derrick Stolee81efa162019-06-10 16:35:22 -070033 Write a new MIDX file.
Derrick Stoleea3407732018-07-12 15:39:21 -040034
Derrick Stolee56ee7ff2018-09-13 11:02:13 -070035verify::
Derrick Stolee81efa162019-06-10 16:35:22 -070036 Verify the contents of the MIDX file.
Derrick Stolee56ee7ff2018-09-13 11:02:13 -070037
Derrick Stoleecff97112019-06-10 16:35:23 -070038expire::
39 Delete the pack-files that are tracked by the MIDX file, but
40 have no objects referenced by the MIDX. Rewrite the MIDX file
41 afterward to remove all references to these pack-files.
42
Derrick Stolee2af890b2019-06-10 16:35:26 -070043repack::
44 Create a new pack-file containing objects in small pack-files
45 referenced by the multi-pack-index. If the size given by the
46 `--batch-size=<size>` argument is zero, then create a pack
47 containing all objects referenced by the multi-pack-index. For
48 a non-zero batch size, Select the pack-files by examining packs
49 from oldest-to-newest, computing the "expected size" by counting
50 the number of objects in the pack referenced by the
51 multi-pack-index, then divide by the total number of objects in
52 the pack and multiply by the pack size. We select packs with
53 expected size below the batch size until the set of packs have
54 total expected size at least the batch size. If the total size
55 does not reach the batch size, then do nothing. If a new pack-
56 file is created, rewrite the multi-pack-index to reference the
57 new pack-file. A later run of 'git multi-pack-index expire' will
58 delete the pack-files that were part of this batch.
59
Derrick Stoleea3407732018-07-12 15:39:21 -040060
61EXAMPLES
62--------
63
64* Write a MIDX file for the packfiles in the current .git folder.
65+
66-----------------------------------------------
67$ git multi-pack-index write
68-----------------------------------------------
69
70* Write a MIDX file for the packfiles in an alternate object store.
71+
72-----------------------------------------------
73$ git multi-pack-index --object-dir <alt> write
74-----------------------------------------------
75
Derrick Stolee56ee7ff2018-09-13 11:02:13 -070076* Verify the MIDX file for the packfiles in the current .git folder.
77+
78-----------------------------------------------
79$ git multi-pack-index verify
80-----------------------------------------------
81
Derrick Stolee6a257f02018-07-12 15:39:20 -040082
83SEE ALSO
84--------
85See link:technical/multi-pack-index.html[The Multi-Pack-Index Design
86Document] and link:technical/pack-format.html[The Multi-Pack-Index
87Format] for more information on the multi-pack-index feature.
88
89
90GIT
91---
92Part of the linkgit:git[1] suite