]>
Commit | Line | Data |
---|---|---|
6a257f03 DS |
1 | git-multi-pack-index(1) |
2 | ======================= | |
3 | ||
4 | NAME | |
5 | ---- | |
6 | git-multi-pack-index - Write and verify multi-pack-indexes | |
7 | ||
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
11 | [verse] | |
9218c6a4 | 12 | 'git multi-pack-index' [--object-dir=<dir>] [--[no-]progress] |
c528e179 | 13 | [--preferred-pack=<pack>] [--[no-]bitmap] <subcommand> |
6a257f03 DS |
14 | |
15 | DESCRIPTION | |
16 | ----------- | |
17 | Write or verify a multi-pack-index (MIDX) file. | |
18 | ||
19 | OPTIONS | |
20 | ------- | |
21 | ||
22 | --object-dir=<dir>:: | |
23 | Use given directory for the location of Git objects. We check | |
24 | `<dir>/packs/multi-pack-index` for the current MIDX file, and | |
25 | `<dir>/packs` for the pack-files to index. | |
f57a7396 TB |
26 | + |
27 | `<dir>` must be an alternate of the current repository. | |
6a257f03 | 28 | |
680cba2c WB |
29 | --[no-]progress:: |
30 | Turn progress on/off explicitly. If neither is specified, progress is | |
31 | shown if standard error is connected to a terminal. | |
32 | ||
81efa161 DS |
33 | The following subcommands are available: |
34 | ||
a3407730 | 35 | write:: |
9218c6a4 TB |
36 | Write a new MIDX file. The following options are available for |
37 | the `write` sub-command: | |
38 | + | |
39 | -- | |
40 | --preferred-pack=<pack>:: | |
41 | Optionally specify the tie-breaking pack used when | |
5d3cd09a TB |
42 | multiple packs contain the same object. `<pack>` must |
43 | contain at least one object. If not given, ties are | |
44 | broken in favor of the pack with the lowest mtime. | |
c528e179 TB |
45 | |
46 | --[no-]bitmap:: | |
47 | Control whether or not a multi-pack bitmap is written. | |
6fb22ca4 TB |
48 | |
49 | --stdin-packs:: | |
50 | Write a multi-pack index containing only the set of | |
51 | line-delimited pack index basenames provided over stdin. | |
08944d1c TB |
52 | |
53 | --refs-snapshot=<path>:: | |
54 | With `--bitmap`, optionally specify a file which | |
55 | contains a "refs snapshot" taken prior to repacking. | |
56 | + | |
57 | A reference snapshot is composed of line-delimited OIDs corresponding to | |
58 | the reference tips, usually taken by `git repack` prior to generating a | |
59 | new pack. A line may optionally start with a `+` character to indicate | |
60 | that the reference which corresponds to that OID is "preferred" (see | |
61 | linkgit:git-config[1]'s `pack.preferBitmapTips`.) | |
62 | + | |
63 | The file given at `<path>` is expected to be readable, and can contain | |
64 | duplicates. (If a given OID is given more than once, it is marked as | |
65 | preferred if at least one instance of it begins with the special `+` | |
66 | marker). | |
9218c6a4 | 67 | -- |
a3407730 | 68 | |
56ee7ff1 | 69 | verify:: |
81efa161 | 70 | Verify the contents of the MIDX file. |
56ee7ff1 | 71 | |
cff97116 DS |
72 | expire:: |
73 | Delete the pack-files that are tracked by the MIDX file, but | |
74 | have no objects referenced by the MIDX. Rewrite the MIDX file | |
75 | afterward to remove all references to these pack-files. | |
76 | ||
2af890bb DS |
77 | repack:: |
78 | Create a new pack-file containing objects in small pack-files | |
79 | referenced by the multi-pack-index. If the size given by the | |
80 | `--batch-size=<size>` argument is zero, then create a pack | |
81 | containing all objects referenced by the multi-pack-index. For | |
82 | a non-zero batch size, Select the pack-files by examining packs | |
83 | from oldest-to-newest, computing the "expected size" by counting | |
84 | the number of objects in the pack referenced by the | |
85 | multi-pack-index, then divide by the total number of objects in | |
86 | the pack and multiply by the pack size. We select packs with | |
87 | expected size below the batch size until the set of packs have | |
1eb22c7d DS |
88 | total expected size at least the batch size, or all pack-files |
89 | are considered. If only one pack-file is selected, then do | |
90 | nothing. If a new pack-file is created, rewrite the | |
91 | multi-pack-index to reference the new pack-file. A later run of | |
92 | 'git multi-pack-index expire' will delete the pack-files that | |
93 | were part of this batch. | |
3ce4ca0a DS |
94 | + |
95 | If `repack.packKeptObjects` is `false`, then any pack-files with an | |
96 | associated `.keep` file will not be selected for the batch to repack. | |
2af890bb | 97 | |
a3407730 DS |
98 | |
99 | EXAMPLES | |
100 | -------- | |
101 | ||
102 | * Write a MIDX file for the packfiles in the current .git folder. | |
103 | + | |
104 | ----------------------------------------------- | |
105 | $ git multi-pack-index write | |
106 | ----------------------------------------------- | |
107 | ||
c528e179 TB |
108 | * Write a MIDX file for the packfiles in the current .git folder with a |
109 | corresponding bitmap. | |
110 | + | |
111 | ------------------------------------------------------------- | |
112 | $ git multi-pack-index write --preferred-pack=<pack> --bitmap | |
113 | ------------------------------------------------------------- | |
114 | ||
a3407730 DS |
115 | * Write a MIDX file for the packfiles in an alternate object store. |
116 | + | |
117 | ----------------------------------------------- | |
118 | $ git multi-pack-index --object-dir <alt> write | |
119 | ----------------------------------------------- | |
120 | ||
56ee7ff1 DS |
121 | * Verify the MIDX file for the packfiles in the current .git folder. |
122 | + | |
123 | ----------------------------------------------- | |
124 | $ git multi-pack-index verify | |
125 | ----------------------------------------------- | |
126 | ||
6a257f03 DS |
127 | |
128 | SEE ALSO | |
129 | -------- | |
130 | See link:technical/multi-pack-index.html[The Multi-Pack-Index Design | |
131 | Document] and link:technical/pack-format.html[The Multi-Pack-Index | |
132 | Format] for more information on the multi-pack-index feature. | |
133 | ||
134 | ||
135 | GIT | |
136 | --- | |
137 | Part of the linkgit:git[1] suite |