Skip to main content

Merge Request

Differences with commit messages

Merge Request commits are like commit messages with only three differences:

  1. Merge Request [type] has to be the most relevant type of all its commits. The relevance list is:


    Where revert has the highest and sol the lowest relevance.

    For example, if your MR has one feat, one test and one style commit, the [type] of your MR must be feat.

  2. 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