Merge branch 'tb/repack-write-midx'
"git repack" has been taught to generate multi-pack reachability bitmaps. * tb/repack-write-midx: test-read-midx: fix leak of bitmap_index struct builtin/repack.c: pass `--refs-snapshot` when writing bitmaps builtin/repack.c: make largest pack preferred builtin/repack.c: support writing a MIDX while repacking builtin/repack.c: extract showing progress to a variable builtin/repack.c: rename variables that deal with non-kept packs builtin/repack.c: keep track of existing packs unconditionally midx: preliminary support for `--refs-snapshot` builtin/multi-pack-index.c: support `--stdin-packs` mode midx: expose `write_midx_file_only()` publicly
This commit is contained in:
@ -45,6 +45,25 @@ write::
|
||||
|
||||
--[no-]bitmap::
|
||||
Control whether or not a multi-pack bitmap is written.
|
||||
|
||||
--stdin-packs::
|
||||
Write a multi-pack index containing only the set of
|
||||
line-delimited pack index basenames provided over stdin.
|
||||
|
||||
--refs-snapshot=<path>::
|
||||
With `--bitmap`, optionally specify a file which
|
||||
contains a "refs snapshot" taken prior to repacking.
|
||||
+
|
||||
A reference snapshot is composed of line-delimited OIDs corresponding to
|
||||
the reference tips, usually taken by `git repack` prior to generating a
|
||||
new pack. A line may optionally start with a `+` character to indicate
|
||||
that the reference which corresponds to that OID is "preferred" (see
|
||||
linkgit:git-config[1]'s `pack.preferBitmapTips`.)
|
||||
+
|
||||
The file given at `<path>` is expected to be readable, and can contain
|
||||
duplicates. (If a given OID is given more than once, it is marked as
|
||||
preferred if at least one instance of it begins with the special `+`
|
||||
marker).
|
||||
--
|
||||
|
||||
verify::
|
||||
|
@ -9,7 +9,7 @@ git-repack - Pack unpacked objects in a repository
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<pack-name>]
|
||||
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [-m] [--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<pack-name>] [--write-midx]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -128,10 +128,11 @@ depth is 4095.
|
||||
-b::
|
||||
--write-bitmap-index::
|
||||
Write a reachability bitmap index as part of the repack. This
|
||||
only makes sense when used with `-a` or `-A`, as the bitmaps
|
||||
only makes sense when used with `-a`, `-A` or `-m`, as the bitmaps
|
||||
must be able to refer to all reachable objects. This option
|
||||
overrides the setting of `repack.writeBitmaps`. This option
|
||||
has no effect if multiple packfiles are created.
|
||||
overrides the setting of `repack.writeBitmaps`. This option
|
||||
has no effect if multiple packfiles are created, unless writing a
|
||||
MIDX (in which case a multi-pack bitmap is created).
|
||||
|
||||
--pack-kept-objects::
|
||||
Include objects in `.keep` files when repacking. Note that we
|
||||
@ -189,6 +190,15 @@ this "roll-up", without respect to their reachability. This is subject
|
||||
to change in the future. This option (implying a drastically different
|
||||
repack mode) is not guaranteed to work with all other combinations of
|
||||
option to `git repack`.
|
||||
+
|
||||
When writing a multi-pack bitmap, `git repack` selects the largest resulting
|
||||
pack as the preferred pack for object selection by the MIDX (see
|
||||
linkgit:git-multi-pack-index[1]).
|
||||
|
||||
-m::
|
||||
--write-midx::
|
||||
Write a multi-pack index (see linkgit:git-multi-pack-index[1])
|
||||
containing the non-redundant packs.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
Reference in New Issue
Block a user