156 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
| git-index-pack(1)
 | |
| =================
 | |
| 
 | |
| NAME
 | |
| ----
 | |
| git-index-pack - Build pack index file for an existing packed archive
 | |
| 
 | |
| 
 | |
| SYNOPSIS
 | |
| --------
 | |
| [verse]
 | |
| 'git index-pack' [-v] [-o <index-file>] [--[no-]rev-index] <pack-file>
 | |
| 'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]
 | |
| 		  [--[no-]rev-index] [<pack-file>]
 | |
| 
 | |
| 
 | |
| DESCRIPTION
 | |
| -----------
 | |
| Reads a packed archive (.pack) from the specified file,
 | |
| builds a pack index file (.idx) for it, and optionally writes a
 | |
| reverse-index (.rev) for the specified pack. The packed
 | |
| archive, together with the pack index, can then be placed in
 | |
| the objects/pack/ directory of a Git repository.
 | |
| 
 | |
| 
 | |
| OPTIONS
 | |
| -------
 | |
| -v::
 | |
| 	Be verbose about what is going on, including progress status.
 | |
| 
 | |
| -o <index-file>::
 | |
| 	Write the generated pack index into the specified
 | |
| 	file.  Without this option the name of pack index
 | |
| 	file is constructed from the name of packed archive
 | |
| 	file by replacing .pack with .idx (and the program
 | |
| 	fails if the name of packed archive does not end
 | |
| 	with .pack).
 | |
| 
 | |
| --[no-]rev-index::
 | |
| 	When this flag is provided, generate a reverse index
 | |
| 	(a `.rev` file) corresponding to the given pack. If
 | |
| 	`--verify` is given, ensure that the existing
 | |
| 	reverse index is correct. Takes precedence over
 | |
| 	`pack.writeReverseIndex`.
 | |
| 
 | |
| --stdin::
 | |
| 	When this flag is provided, the pack is read from stdin
 | |
| 	instead and a copy is then written to <pack-file>. If
 | |
| 	<pack-file> is not specified, the pack is written to
 | |
| 	objects/pack/ directory of the current Git repository with
 | |
| 	a default name determined from the pack content.  If
 | |
| 	<pack-file> is not specified consider using --keep to
 | |
| 	prevent a race condition between this process and
 | |
| 	'git repack'.
 | |
| 
 | |
| --fix-thin::
 | |
| 	Fix a "thin" pack produced by `git pack-objects --thin` (see
 | |
| 	linkgit:git-pack-objects[1] for details) by adding the
 | |
| 	excluded objects the deltified objects are based on to the
 | |
| 	pack. This option only makes sense in conjunction with --stdin.
 | |
| 
 | |
| --keep::
 | |
| 	Before moving the index into its final destination
 | |
| 	create an empty .keep file for the associated pack file.
 | |
| 	This option is usually necessary with --stdin to prevent a
 | |
| 	simultaneous 'git repack' process from deleting
 | |
| 	the newly constructed pack and index before refs can be
 | |
| 	updated to use objects contained in the pack.
 | |
| 
 | |
| --keep=<msg>::
 | |
| 	Like --keep, create a .keep file before moving the index into
 | |
| 	its final destination.  However, instead of creating an empty file
 | |
| 	place '<msg>' followed by an LF into the .keep file.  The '<msg>'
 | |
| 	message can later be searched for within all .keep files to
 | |
| 	locate any which have outlived their usefulness.
 | |
| 
 | |
| --index-version=<version>[,<offset>]::
 | |
| 	This is intended to be used by the test suite only. It allows
 | |
| 	to force the version for the generated pack index, and to force
 | |
| 	64-bit index entries on objects located above the given offset.
 | |
| 
 | |
| --strict[=<msg-id>=<severity>...]::
 | |
| 	Die, if the pack contains broken objects or links. An optional
 | |
| 	comma-separated list of `<msg-id>=<severity>` can be passed to change
 | |
| 	the severity of some possible issues, e.g.,
 | |
| 	 `--strict="missingEmail=ignore,badTagName=error"`. See the entry for the
 | |
| 	`fsck.<msg-id>` configuration options in linkgit:git-fsck[1] for more
 | |
| 	information on the possible values of `<msg-id>` and `<severity>`.
 | |
| 
 | |
| --progress-title::
 | |
| 	For internal use only.
 | |
| +
 | |
| Set the title of the progress bar. The title is "Receiving objects" by
 | |
| default and "Indexing objects" when `--stdin` is specified.
 | |
| 
 | |
| --check-self-contained-and-connected::
 | |
| 	Die if the pack contains broken links. For internal use only.
 | |
| 
 | |
| --fsck-objects[=<msg-id>=<severity>...]::
 | |
| 	Die if the pack contains broken objects, but unlike `--strict`, don't
 | |
| 	choke on broken links. If the pack contains a tree pointing to a
 | |
| 	.gitmodules blob that does not exist, prints the hash of that blob
 | |
| 	(for the caller to check) after the hash that goes into the name of the
 | |
| 	pack/idx file (see "Notes").
 | |
| +
 | |
| An optional comma-separated list of `<msg-id>=<severity>` can be passed to
 | |
| change the severity of some possible issues, e.g.,
 | |
| `--fsck-objects="missingEmail=ignore,badTagName=ignore"`. See the entry for the
 | |
| `fsck.<msg-id>` configuration options in linkgit:git-fsck[1] for more
 | |
| information on the possible values of `<msg-id>` and `<severity>`.
 | |
| 
 | |
| --threads=<n>::
 | |
| 	Specifies the number of threads to spawn when resolving
 | |
| 	deltas. This requires that index-pack be compiled with
 | |
| 	pthreads otherwise this option is ignored with a warning.
 | |
| 	This is meant to reduce packing time on multiprocessor
 | |
| 	machines. The required amount of memory for the delta search
 | |
| 	window is however multiplied by the number of threads.
 | |
| 	Specifying 0 will cause Git to auto-detect the number of CPU's
 | |
| 	and use maximum 3 threads.
 | |
| 
 | |
| --max-input-size=<size>::
 | |
| 	Die, if the pack is larger than <size>.
 | |
| 
 | |
| --object-format=<hash-algorithm>::
 | |
| 	Specify the given object format (hash algorithm) for the pack.  The valid
 | |
| 	values are 'sha1' and (if enabled) 'sha256'.  The default is the algorithm for
 | |
| 	the current repository (set by `extensions.objectFormat`), or 'sha1' if no
 | |
| 	value is set or outside a repository.
 | |
| +
 | |
| This option cannot be used with --stdin.
 | |
| +
 | |
| include::object-format-disclaimer.txt[]
 | |
| 
 | |
| --promisor[=<message>]::
 | |
| 	Before committing the pack-index, create a .promisor file for this
 | |
| 	pack. Particularly helpful when writing a promisor pack with --fix-thin
 | |
| 	since the name of the pack is not final until the pack has been fully
 | |
| 	written. If a `<message>` is provided, then that content will be
 | |
| 	written to the .promisor file for future reference. See
 | |
| 	link:technical/partial-clone.html[partial clone] for more information.
 | |
| 
 | |
| NOTES
 | |
| -----
 | |
| 
 | |
| Once the index has been created, the hash that goes into the name of
 | |
| the pack/idx file is printed to stdout. If --stdin was
 | |
| also used then this is prefixed by either "pack\t", or "keep\t" if a
 | |
| new .keep file was successfully created. This is useful to remove a
 | |
| .keep file used as a lock to prevent the race with 'git repack'
 | |
| mentioned above.
 | |
| 
 | |
| GIT
 | |
| ---
 | |
| Part of the linkgit:git[1] suite
 |