diff options
Diffstat (limited to 'Documentation/git-index-pack.txt')
-rw-r--r-- | Documentation/git-index-pack.txt | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt new file mode 100644 index 000000000000..d5b7560bfe2d --- /dev/null +++ b/Documentation/git-index-pack.txt @@ -0,0 +1,108 @@ +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>] <pack-file> +'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] + [<pack-file>] + + +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 +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). + +--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:: + Die if the pack contains broken objects. For internal use only. + +--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>. + +NOTES +----- + +Once the index has been created, the list of object names is sorted +and the SHA-1 hash of that list 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 |