mirror of
https://github.com/git/git.git
synced 2024-05-30 09:06:07 +02:00
be78176a72
Now that the pseudo-merge machinery has learned how to select non-bitmapped commits and assign them into different pseudo-merge group(s), invoke this new API from within the pack-bitmap internals and store the results off. Note that the selected pseudo-merge commits aren't actually used or written anywhere yet. This will be done in the following commit. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
76 lines
3.3 KiB
Plaintext
76 lines
3.3 KiB
Plaintext
bitmapPseudoMerge.<name>.pattern::
|
|
Regular expression used to match reference names. Commits
|
|
pointed to by references matching this pattern (and meeting
|
|
the below criteria, like `bitmapPseudoMerge.<name>.sampleRate`
|
|
and `bitmapPseudoMerge.<name>.threshold`) will be considered
|
|
for inclusion in a pseudo-merge bitmap.
|
|
+
|
|
Commits are grouped into pseudo-merge groups based on whether or not
|
|
any reference(s) that point at a given commit match the pattern, which
|
|
is an extended regular expression.
|
|
+
|
|
Within a pseudo-merge group, commits may be further grouped into
|
|
sub-groups based on the capture groups in the pattern. These
|
|
sub-groupings are formed from the regular expressions by concatenating
|
|
any capture groups from the regular expression, with a '-' dash in
|
|
between.
|
|
+
|
|
For example, if the pattern is `refs/tags/`, then all tags (provided
|
|
they meet the below criteria) will be considered candidates for the
|
|
same pseudo-merge group. However, if the pattern is instead
|
|
`refs/remotes/([0-9])+/tags/`, then tags from different remotes will
|
|
be grouped into separate pseudo-merge groups, based on the remote
|
|
number.
|
|
|
|
bitmapPseudoMerge.<name>.decay::
|
|
Determines the rate at which consecutive pseudo-merge bitmap
|
|
groups decrease in size. Must be non-negative. This parameter
|
|
can be thought of as `k` in the function `f(n) = C *
|
|
n^(-k/100)`, where `f(n)` is the size of the `n`th group.
|
|
+
|
|
Setting the decay rate equal to `0` will cause all groups to be the
|
|
same size. Setting the decay rate equal to `100` will cause the `n`th
|
|
group to be `1/n` the size of the initial group. Higher values of the
|
|
decay rate cause consecutive groups to shrink at an increasing rate.
|
|
The default is `100`.
|
|
|
|
bitmapPseudoMerge.<name>.sampleRate::
|
|
Determines the proportion of non-bitmapped commits (among
|
|
reference tips) which are selected for inclusion in an
|
|
unstable pseudo-merge bitmap. Must be between `0` and `100`
|
|
(inclusive). The default is `100`.
|
|
|
|
bitmapPseudoMerge.<name>.threshold::
|
|
Determines the minimum age of non-bitmapped commits (among
|
|
reference tips, as above) which are candidates for inclusion
|
|
in an unstable pseudo-merge bitmap. The default is
|
|
`1.week.ago`.
|
|
|
|
bitmapPseudoMerge.<name>.maxMerges::
|
|
Determines the maximum number of pseudo-merge commits among
|
|
which commits may be distributed.
|
|
+
|
|
For pseudo-merge groups whose pattern does not contain any capture
|
|
groups, this setting is applied for all commits matching the regular
|
|
expression. For patterns that have one or more capture groups, this
|
|
setting is applied for each distinct capture group.
|
|
+
|
|
For example, if your capture group is `refs/tags/`, then this setting
|
|
will distribute all tags into a maximum of `maxMerges` pseudo-merge
|
|
commits. However, if your capture group is, say,
|
|
`refs/remotes/([0-9]+)/tags/`, then this setting will be applied to
|
|
each remote's set of tags individually.
|
|
+
|
|
Must be non-negative. The default value is 64.
|
|
|
|
bitmapPseudoMerge.<name>.stableThreshold::
|
|
Determines the minimum age of commits (among reference tips,
|
|
as above, however stable commits are still considered
|
|
candidates even when they have been covered by a bitmap) which
|
|
are candidates for a stable a pseudo-merge bitmap. The default
|
|
is `1.month.ago`.
|
|
|
|
bitmapPseudoMerge.<name>.stableSize::
|
|
Determines the size (in number of commits) of a stable
|
|
psuedo-merge bitmap. The default is `512`.
|