1GIT-MULTI-PACK-IN(1) Git Manual GIT-MULTI-PACK-IN(1)
2
3
4
6 git-multi-pack-index - Write and verify multi-pack-indexes
7
9 git multi-pack-index [--object-dir=<dir>] [--[no-]progress]
10 [--preferred-pack=<pack>] <subcommand>
11
13 Write or verify a multi-pack-index (MIDX) file.
14
16 --object-dir=<dir>
17 Use given directory for the location of Git objects. We check
18 <dir>/packs/multi-pack-index for the current MIDX file, and
19 <dir>/packs for the pack-files to index.
20
21 --[no-]progress
22 Turn progress on/off explicitly. If neither is specified, progress
23 is shown if standard error is connected to a terminal.
24
25 The following subcommands are available:
26
27 write
28 Write a new MIDX file. The following options are available for the
29 write sub-command:
30
31 --preferred-pack=<pack>
32 Optionally specify the tie-breaking pack used when multiple
33 packs contain the same object. If not given, ties are broken in
34 favor of the pack with the lowest mtime.
35
36 verify
37 Verify the contents of the MIDX file.
38
39 expire
40 Delete the pack-files that are tracked by the MIDX file, but have
41 no objects referenced by the MIDX. Rewrite the MIDX file afterward
42 to remove all references to these pack-files.
43
44 repack
45 Create a new pack-file containing objects in small pack-files
46 referenced by the multi-pack-index. If the size given by the
47 --batch-size=<size> argument is zero, then create a pack containing
48 all objects referenced by the multi-pack-index. For a non-zero
49 batch size, Select the pack-files by examining packs from
50 oldest-to-newest, computing the "expected size" by counting the
51 number of objects in the pack referenced by the multi-pack-index,
52 then divide by the total number of objects in the pack and multiply
53 by the pack size. We select packs with expected size below the
54 batch size until the set of packs have total expected size at least
55 the batch size, or all pack-files are considered. If only one
56 pack-file is selected, then do nothing. If a new pack-file is
57 created, rewrite the multi-pack-index to reference the new
58 pack-file. A later run of git multi-pack-index expire will delete
59 the pack-files that were part of this batch.
60
61 If repack.packKeptObjects is false, then any pack-files with an
62 associated .keep file will not be selected for the batch to repack.
63
65 • Write a MIDX file for the packfiles in the current .git folder.
66
67 $ git multi-pack-index write
68
69 • Write a MIDX file for the packfiles in an alternate object store.
70
71 $ git multi-pack-index --object-dir <alt> write
72
73 • Verify the MIDX file for the packfiles in the current .git folder.
74
75 $ git multi-pack-index verify
76
78 See The Multi-Pack-Index Design Document[1] and The Multi-Pack-Index
79 Format[2] for more information on the multi-pack-index feature.
80
82 Part of the git(1) suite
83
85 1. The Multi-Pack-Index Design Document
86 file:///usr/share/doc/git/technical/multi-pack-index.html
87
88 2. The Multi-Pack-Index Format
89 file:///usr/share/doc/git/technical/pack-format.html
90
91
92
93Git 2.33.1 2021-10-12 GIT-MULTI-PACK-IN(1)