You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.5 KiB
138 lines
4.5 KiB
git-multi-pack-index(1) |
|
======================= |
|
|
|
NAME |
|
---- |
|
git-multi-pack-index - Write and verify multi-pack-indexes |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
[verse] |
|
'git multi-pack-index' [--object-dir=<dir>] [--[no-]bitmap] <sub-command> |
|
|
|
DESCRIPTION |
|
----------- |
|
Write or verify a multi-pack-index (MIDX) file. |
|
|
|
OPTIONS |
|
------- |
|
|
|
--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 |
|
`<dir>/packs` for the pack-files to index. |
|
+ |
|
`<dir>` must be an alternate of the current repository. |
|
|
|
--[no-]progress:: |
|
Turn progress on/off explicitly. If neither is specified, progress is |
|
shown if standard error is connected to a terminal. Supported by |
|
sub-commands `write`, `verify`, `expire`, and `repack. |
|
|
|
The following subcommands are available: |
|
|
|
write:: |
|
Write a new MIDX file. The following options are available for |
|
the `write` sub-command: |
|
+ |
|
-- |
|
--preferred-pack=<pack>:: |
|
Optionally specify the tie-breaking pack used when |
|
multiple packs contain the same object. `<pack>` must |
|
contain at least one object. If not given, ties are |
|
broken in favor of the pack with the lowest mtime. |
|
|
|
--[no-]bitmap:: |
|
Control whether or not a multi-pack bitmap is written. |
|
|
|
--stdin-packs:: |
|
Write a multi-pack index containing only the set of |
|
line-delimited pack index basenames provided over stdin. |
|
|
|
--refs-snapshot=<path>:: |
|
With `--bitmap`, optionally specify a file which |
|
contains a "refs snapshot" taken prior to repacking. |
|
+ |
|
A reference snapshot is composed of line-delimited OIDs corresponding to |
|
the reference tips, usually taken by `git repack` prior to generating a |
|
new pack. A line may optionally start with a `+` character to indicate |
|
that the reference which corresponds to that OID is "preferred" (see |
|
linkgit:git-config[1]'s `pack.preferBitmapTips`.) |
|
+ |
|
The file given at `<path>` is expected to be readable, and can contain |
|
duplicates. (If a given OID is given more than once, it is marked as |
|
preferred if at least one instance of it begins with the special `+` |
|
marker). |
|
-- |
|
|
|
verify:: |
|
Verify the contents of the MIDX file. |
|
|
|
expire:: |
|
Delete the pack-files that are tracked by the MIDX file, but |
|
have no objects referenced by the MIDX (with the exception of |
|
`.keep` packs and cruft packs). Rewrite the MIDX file afterward |
|
to remove all references to these pack-files. |
|
|
|
repack:: |
|
Create a new pack-file containing objects in small pack-files |
|
referenced by the multi-pack-index. If the size given by the |
|
`--batch-size=<size>` argument is zero, then create a pack |
|
containing all objects referenced by the multi-pack-index. For |
|
a non-zero batch size, Select the pack-files by examining packs |
|
from oldest-to-newest, computing the "expected size" by counting |
|
the number of objects in the pack referenced by the |
|
multi-pack-index, then divide by the total number of objects in |
|
the pack and multiply by the pack size. We select packs with |
|
expected size below the batch size until the set of packs have |
|
total expected size at least the batch size, or all pack-files |
|
are considered. If only one pack-file is selected, then do |
|
nothing. If a new pack-file is created, rewrite the |
|
multi-pack-index to reference the new pack-file. A later run of |
|
'git multi-pack-index expire' will delete the pack-files that |
|
were part of this batch. |
|
+ |
|
If `repack.packKeptObjects` is `false`, then any pack-files with an |
|
associated `.keep` file will not be selected for the batch to repack. |
|
|
|
|
|
EXAMPLES |
|
-------- |
|
|
|
* Write a MIDX file for the packfiles in the current `.git` directory. |
|
+ |
|
----------------------------------------------- |
|
$ git multi-pack-index write |
|
----------------------------------------------- |
|
|
|
* Write a MIDX file for the packfiles in the current `.git` directory with a |
|
corresponding bitmap. |
|
+ |
|
------------------------------------------------------------- |
|
$ git multi-pack-index write --preferred-pack=<pack> --bitmap |
|
------------------------------------------------------------- |
|
|
|
* Write a MIDX file for the packfiles in an alternate object store. |
|
+ |
|
----------------------------------------------- |
|
$ git multi-pack-index --object-dir <alt> write |
|
----------------------------------------------- |
|
|
|
* Verify the MIDX file for the packfiles in the current `.git` directory. |
|
+ |
|
----------------------------------------------- |
|
$ git multi-pack-index verify |
|
----------------------------------------------- |
|
|
|
|
|
SEE ALSO |
|
-------- |
|
See link:technical/multi-pack-index.html[The Multi-Pack-Index Design |
|
Document] and linkgit:gitformat-pack[5] for more information on the |
|
multi-pack-index feature and its file format. |
|
|
|
|
|
GIT |
|
--- |
|
Part of the linkgit:git[1] suite
|
|
|