Merge Request
Differences with commit messages
Merge Request commits are like commit messages with only three differences:
-
Merge Request [type] has to be the most relevant type of all its commits. The relevance list is:
rever
feat
perf
fix
refac
test
style
solWhere
revert
has the highest andsol
the lowest relevance.For example, if your MR has one
feat
, onetest
and onestyle
commit, the [type] of your MR must befeat
. -
They can (not mandatory) implement a
Closes #{issue-number}
in their footer, which triggers the automatic closing of the referenced issue once the MR gets accepted
Merge Request example
Here is an example of a compliant Merge Request Message:
integrates\feat(build): #13 new checks to dangerfile
- Add type_check
- Add deltas_check
- Add commit_number check
Closes #13
Issue number 13
will be automatically closed
once this MR is accepted
due to the Closes #13
footer.
ETA Merge Request messages
When your Merge Request is related to one area/issue that has an enumerable universe, i.e, we know with considerable certainty how many MRs are necessary to complete it, then you should use the following ETA model as a Merge Request message:
- Speed: A [parts] / B [time unit] = A/B [parts]/[time unit]
- TODO: C [parts]
- ETA: C / (A/B) = C/(A/B) [time unit]
[parts] should be replaced for the aspect that allows to quantify the progress of the area, which can be a number of issues, cases, files, tasks, etc.
[time unit] should be replaced for an appropriate unit of time that will be used to estimate an ETA, for example days or weeks.
B is the units of time that has passed since you started addressing the issues of the area, A is the total number of [parts] that have been submitted in such B time and C is the total number of [parts] that we know will resolve the issues of the area.
ETA Merge Request message example:
- Speed: 4 issues / 2 days = 2 issues/day
- TODO: 10 issues
- ETA: 10 / 2 = 5 days