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.
131 lines
4.5 KiB
131 lines
4.5 KiB
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, and |
|
builds a pack index file (.idx) for it. 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, but rather than 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:: |
|
Die, if the pack contains broken objects or links. |
|
|
|
--check-self-contained-and-connected:: |
|
Die if the pack contains broken links. For internal use only. |
|
|
|
--fsck-objects:: |
|
For internal use only. |
|
+ |
|
Die if the pack contains broken objects. 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"). |
|
|
|
--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[] |
|
|
|
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
|
|
|