139 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
| 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
 |