1 syntax: stats.py branch <options>
3 The purpose of the branch module is to gather statistics
4 about branches, or related to branches.
6 Currently the available metrics in the branch module are
8 * Which of the branch head does a commit belong to
9 What this metric does is walk down the ancestry of the
10 target commit and increase the 'dilution' by one or each
11 merge it finds. The exception applies that when following
12 the 'primary' parent of the merge (e.g., the branch
13 recorded as the one the merge commit was made on), the
14 dilution is not increased. As such, if the target commit
15 is made on a branch, and then later on it's dilution
16 is calculated, it will have 0 dilution for that branch.
17 The branch with the lowest dilution is deemed to be the
18 branch that the commit belongs to most.
19 Note: In git there is no 'main' branch, as such any and
20 all branches branches that 'branched off' after the
21 target commit will also have dilution 0.
23 It also defines the following auxillery functions:
24 * Retreive the name of a commit if it is a the head of a
25 branch. This can be seen as the reverse of 'rev-parse'
26 for branch heads. This is used internally to provide the
27 user with a sensible name when telling them which branch
30 * List all the branches that contain a specific commit,
31 optionally searching through remote branches as well as
32 optionally not filtering at all. This is used internally
33 to not search through branches that do not contain the