2005-10-13 03:01:31 +08:00
|
|
|
git-index-pack(1)
|
|
|
|
=================
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
git-index-pack - Build pack index file for an existing packed archive
|
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2007-05-18 21:39:34 +08:00
|
|
|
[verse]
|
2008-06-30 14:09:04 +08:00
|
|
|
'git index-pack' [-v] [-o <index-file>] <pack-file>
|
|
|
|
'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]
|
2007-05-18 21:39:34 +08:00
|
|
|
[<pack-file>]
|
2005-10-13 03:01:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
Reads a packed archive (.pack) from the specified file, and
|
|
|
|
builds a pack index file (.idx) for it. The packed archive
|
|
|
|
together with the pack index can then be placed in the
|
2013-01-22 03:17:53 +08:00
|
|
|
objects/pack/ directory of a Git repository.
|
2005-10-13 03:01:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
2006-10-26 11:32:59 +08:00
|
|
|
-v::
|
|
|
|
Be verbose about what is going on, including progress status.
|
|
|
|
|
2005-10-13 03:01:31 +08:00
|
|
|
-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).
|
|
|
|
|
2006-10-24 02:50:18 +08:00
|
|
|
--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
|
2013-01-22 03:17:53 +08:00
|
|
|
objects/pack/ directory of the current Git repository with
|
2006-10-29 17:41:59 +08:00
|
|
|
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
|
2010-01-10 07:33:00 +08:00
|
|
|
'git repack'.
|
2005-10-13 03:01:31 +08:00
|
|
|
|
2006-10-26 11:28:17 +08:00
|
|
|
--fix-thin::
|
2010-02-18 17:10:28 +08:00
|
|
|
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.
|
2006-10-29 17:41:59 +08:00
|
|
|
|
|
|
|
--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
|
2010-01-10 07:33:00 +08:00
|
|
|
simultaneous 'git repack' process from deleting
|
2006-10-29 17:41:59 +08:00
|
|
|
the newly constructed pack and index before refs can be
|
|
|
|
updated to use objects contained in the pack.
|
|
|
|
|
2010-10-09 01:31:15 +08:00
|
|
|
--keep=<msg>::
|
2006-10-29 17:41:59 +08:00
|
|
|
Like --keep create a .keep file before moving the index into
|
|
|
|
its final destination, but rather than creating an empty file
|
2010-10-09 01:31:15 +08:00
|
|
|
place '<msg>' followed by an LF into the .keep file. The '<msg>'
|
2006-10-29 17:41:59 +08:00
|
|
|
message can later be searched for within all .keep files to
|
|
|
|
locate any which have outlived their usefulness.
|
2006-10-26 11:28:17 +08:00
|
|
|
|
2007-04-20 10:16:53 +08:00
|
|
|
--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.
|
|
|
|
|
2008-02-26 05:46:12 +08:00
|
|
|
--strict::
|
|
|
|
Die, if the pack contains broken objects or links.
|
|
|
|
|
2013-05-26 09:16:17 +08:00
|
|
|
--check-self-contained-and-connected::
|
|
|
|
Die if the pack contains broken links. For internal use only.
|
|
|
|
|
2018-03-15 02:42:40 +08:00
|
|
|
--fsck-objects::
|
|
|
|
Die if the pack contains broken objects. For internal use only.
|
|
|
|
|
2012-05-06 20:31:55 +08:00
|
|
|
--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.
|
2013-01-22 03:17:53 +08:00
|
|
|
Specifying 0 will cause Git to auto-detect the number of CPU's
|
2012-05-06 20:31:55 +08:00
|
|
|
and use maximum 3 threads.
|
|
|
|
|
2016-08-25 02:41:55 +08:00
|
|
|
--max-input-size=<size>::
|
|
|
|
Die, if the pack is larger than <size>.
|
2006-10-26 11:28:17 +08:00
|
|
|
|
2018-04-30 23:35:33 +08:00
|
|
|
NOTES
|
|
|
|
-----
|
2006-11-02 06:06:25 +08:00
|
|
|
|
|
|
|
Once the index has been created, the list of object names is sorted
|
2013-04-16 01:49:04 +08:00
|
|
|
and the SHA-1 hash of that list is printed to stdout. If --stdin was
|
2006-11-02 06:06:25 +08:00
|
|
|
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
|
2010-01-10 07:33:00 +08:00
|
|
|
.keep file used as a lock to prevent the race with 'git repack'
|
2006-11-02 06:06:25 +08:00
|
|
|
mentioned above.
|
|
|
|
|
2005-10-13 03:01:31 +08:00
|
|
|
GIT
|
|
|
|
---
|
2008-06-06 15:07:32 +08:00
|
|
|
Part of the linkgit:git[1] suite
|