Code

Merge branch 'jc/fpl'
[git.git] / Documentation / git-repack.txt
index bd830ada274335b723f3382b9b4a554fa3c15701..d39abc126dec70108625af13d11541b771c8e85d 100644 (file)
@@ -1,16 +1,14 @@
 git-repack(1)
 =============
-v0.99.5, August 2005
 
 NAME
 ----
-git-repack - Script used to pack a repository from a collection of
-objects into pack files.
+git-repack - Pack unpacked objects in a repository
 
 
 SYNOPSIS
 --------
-'git-repack' [-a] [-d]
+'git-repack' [-a] [-d] [-f] [-l] [-n] [-q] [--window=N] [--depth=N]
 
 DESCRIPTION
 -----------
@@ -32,13 +30,54 @@ OPTIONS
        Instead of incrementally packing the unpacked objects,
        pack everything available into a single pack.
        Especially useful when packing a repository that is used
-       for a private development and there no need to worry
-       about people fetching via dumb protocols from it.  Use
-       with '-d'.
+       for private development and there is no need to worry
+       about people fetching via dumb file transfer protocols
+       from it.  Use with '-d'.
 
 -d::
        After packing, if the newly created packs make some
        existing packs redundant, remove the redundant packs.
+       Also runs gitlink:git-prune-packed[1].
+
+-l::
+        Pass the `--local` option to `git pack-objects`, see
+        gitlink:git-pack-objects[1].
+
+-f::
+        Pass the `--no-reuse-delta` option to `git pack-objects`, see
+        gitlink:git-pack-objects[1].
+
+-q::
+        Pass the `-q` option to `git pack-objects`, see
+        gitlink:git-pack-objects[1].
+
+-n::
+        Do not update the server information with
+        `git update-server-info`.
+
+--window=[N], --depth=[N]::
+       These two options affect how the objects contained in the pack are
+       stored using delta compression. The objects are first internally
+       sorted by type, size and optionally names and compared against the
+       other objects within `--window` to see if using delta compression saves
+       space. `--depth` limits the maximum delta depth; making it too deep
+       affects the performance on the unpacker side, because delta data needs
+       to be applied that many times to get to the necessary object.
+       The default value for both --window and --depth is 10.
+
+
+Configuration
+-------------
+
+When configuration variable `repack.UseDeltaBaseOffset` is set
+for the repository, the command passes `--delta-base-offset`
+option to `git-pack-objects`; this typically results in slightly
+smaller packs, but the generated packs are incompatible with
+versions of git older than (and including) v1.4.3; do not set
+the variable in a repository that older version of git needs to
+be able to read (this includes repositories from which packs can
+be copied out over http or rsync, and people who obtained packs
+that way can try to use older git with it).
 
 
 Author
@@ -49,7 +88,7 @@ Documentation
 --------------
 Documentation by Ryan Anderson <ryan@michonline.com>
 
-See-Also
+See Also
 --------
 gitlink:git-pack-objects[1]
 gitlink:git-prune-packed[1]