shortlog: warn the user when there is no input
[gitweb.git] / Documentation / git-index-pack.txt
index 9fa4847d56be0844b91a7cbe76ead6c45a9e5bed..65a301becefb837b74bffa2d2dd11d51e229a06a 100644 (file)
@@ -8,8 +8,10 @@ git-index-pack - Build pack index file for an existing packed archive
 
 SYNOPSIS
 --------
-'git-index-pack' [-v] [-o <index-file>] <pack-file>
-'git-index-pack' --stdin [--fix-thin] [-v] [-o <index-file>] [<pack-file>]
+[verse]
+'git index-pack' [-v] [-o <index-file>] <pack-file>
+'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]
+                 [<pack-file>]
 
 
 DESCRIPTION
@@ -38,17 +40,54 @@ OPTIONS
        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.
+       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::
-       It is possible for gitlink:git-pack-objects[1] to build
+       It is possible for 'git pack-objects' to build
        "thin" pack, which records objects in deltified form based on
        objects not included in the pack to reduce network traffic.
        Those objects are expected to be present on the receiving end
        and they must be included in the pack for that pack to be self
        contained and indexable. Without this option any attempt to
        index a thin pack will fail. This option only makes sense in
-       conjonction with --stdin.
+       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='why'::
+       Like --keep create a .keep file before moving the index into
+       its final destination, but rather than creating an empty file
+       place 'why' followed by an LF into the .keep file.  The 'why'
+       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.
+
+
+Note
+----
+
+Once the index has been created, the list of object names is sorted
+and the SHA1 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.
 
 
 Author
@@ -61,5 +100,4 @@ Documentation by Sergey Vlasov
 
 GIT
 ---
-Part of the gitlink:git[7] suite
-
+Part of the linkgit:git[1] suite