path: root/Documentation/git-index-pack.txt
diff options
authorJunio C Hamano <>2006-11-03 05:41:47 (GMT)
committerJunio C Hamano <>2006-11-03 05:41:47 (GMT)
commitaac91b7eeae4e8cf6521a5370caf03eb432ce492 (patch)
tree7542e33984d341d8dbbffb3827c37dfaea4e87cc /Documentation/git-index-pack.txt
parent4508dde16951df00529207f179fee405e8646a64 (diff)
parent861ed12106d7f8e65b90c8a5ed4a026cd71a044d (diff)
Merge branch 'sp/keep-pack' into np/index-pack
* sp/keep-pack: (29 commits) Remove unused variable in receive-pack. Teach git-index-pack how to keep a pack file. Only repack active packs by skipping over kept packs. Allow short pack names to git-pack-objects --unpacked=. git-send-email: Read the default SMTP server from the GIT config file git-send-email: Document support for local sendmail instead of SMTP server Swap the porcelain and plumbing commands in the git man page Mention that pull can work locally in the synopsis gitweb: Add "next" link to commitdiff view gitweb: Move git_get_last_activity subroutine earlier Documentation: fix git-format-patch mark-up and link it from git.txt Documentation: Update information about <format> in git-for-each-ref Bash completion support for aliases gitweb: Fix up bogus $stylesheet declarations tests: merge-recursive is usable without Python gitweb: Check git base URLs before generating URL from it Documentation: add git in /etc/services. Documentation: add upload-archive service to git-daemon. git-cherry: document limit and add diagram diff-format.txt: Correct information about pathnames quoting in patch format ...
Diffstat (limited to 'Documentation/git-index-pack.txt')
1 files changed, 21 insertions, 3 deletions
diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt
index 9fa4847..1235416 100644
--- a/Documentation/git-index-pack.txt
+++ b/Documentation/git-index-pack.txt
@@ -9,7 +9,7 @@ git-index-pack - Build pack index file for an existing packed archive
'git-index-pack' [-v] [-o <index-file>] <pack-file>
-'git-index-pack' --stdin [--fix-thin] [-v] [-o <index-file>] [<pack-file>]
+'git-index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] [<pack-file>]
@@ -38,7 +38,10 @@ 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
+ gitlink::git-repack[1] .
It is possible for gitlink:git-pack-objects[1] to build
@@ -48,7 +51,22 @@ OPTIONS
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.
+ 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 gitlink:git-repack[1] process from deleting
+ the newly constructed pack and index before refs can be
+ updated to use objects contained in the pack.
+ 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.