| 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. 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 link:technical/pack-format.html[The Multi-Pack-Index |
| Format] for more information on the multi-pack-index feature. |
| |
| |
| GIT |
| --- |
| Part of the linkgit:git[1] suite |