path: root/Documentation
diff options
Diffstat (limited to 'Documentation')
3 files changed, 30 insertions, 1 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 84e3891..05d6574 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -230,6 +230,10 @@ pull.octopus::
The default merge strategy to use when pulling a single branch.
+ Allow gitlink:git-repack[1] to create packs that uses
+ delta-base offset. Defaults to false.
The default gitlink:git-diff-tree[1] arguments to be used
for gitlink:git-show[1].
diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt
index f52e8fa..a1e5505 100644
--- a/Documentation/git-pack-objects.txt
+++ b/Documentation/git-pack-objects.txt
@@ -9,7 +9,7 @@ git-pack-objects - Create a packed archive of objects
-'git-pack-objects' [-q] [--no-reuse-delta] [--non-empty]
+'git-pack-objects' [-q] [--no-reuse-delta] [--delta-base-offset] [--non-empty]
[--local] [--incremental] [--window=N] [--depth=N]
[--revs [--unpacked | --all]*] [--stdout | base-name] < object-list
@@ -111,6 +111,17 @@ base-name::
This flag tells the command not to reuse existing deltas
but compute them from scratch.
+ A packed archive can express base object of a delta as
+ either 20-byte object name or as an offset in the
+ stream, but older version of git does not understand the
+ latter. By default, git-pack-objects only uses the
+ former format for better compatibility. This option
+ allows the command to use the latter format for
+ compactness. Depending on the average delta chain
+ length, this option typically shrinks the resulting
+ packfile by 3-5 per-cent.
diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index d2eaa09..0fa47e3 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -67,6 +67,20 @@ OPTIONS
The default value for both --window and --depth is 10.
+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).
Written by Linus Torvalds <>