Home Explore Blog CI



git

1st chunk of `Documentation/config/bitmap-pseudo-merge.adoc`
a419a674d36002f07daaec5524fdf8d8103903b9f5b23a430000000100000834
NOTE: The configuration options in `bitmapPseudoMerge.*` are considered
EXPERIMENTAL and may be subject to change or be removed entirely in the
future. For more information about the pseudo-merge bitmap feature, see
the "Pseudo-merge bitmaps" section of linkgit:gitpacking[7].

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`,
	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 `1` 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 `1`.
+
If all groups are the same size, it is possible that groups containing
newer commits will be able to be used less often than earlier groups,

Title: Configuring Pseudo-Merge Bitmaps in Git
Summary
The pseudo-merge bitmap feature in Git allows for experimental configuration options to group commits based on reference names, with settings for pattern matching, decay rates, and group sizing to optimize performance.