Previously, we applies the commits in individual MRs to the batch MR linearly, so the commits will be rewritten and the commit sha will not be the same one passed CI, which is not good.
To make the commits be exactly the same in the individual MRs and the batch MR, I added an option to allow using merge commits in batch MRs. It acts as a helper commit in the temp branch (the batch branch) which won't affect the final merge method (we usually use the fast forwarding merge).
Besides, updating (rebase master and apply trailers) each MR before we create the batch MR to avoid rewrite commits after.
Add --use-merge-commit-batches option: Use merge commit when creating batches, so that the commits in the batch MR will be the same with in individual MRs.
Add --skip-ci-batches option: Skip CI when updating individual MRs when using batches. Since we have tested the batch MR, no need to run CI on individual MRs any more after we rewrite the commits.
Previously, we applies the commits in individual MRs to the batch MR linearly, so the commits will be rewritten and the commit sha will not be the same one passed CI, which is not good.
To make the commits be exactly the same in the individual MRs and the batch MR, I added an option to allow using merge commits in batch MRs. It acts as a helper commit in the temp branch (the batch branch) which won't affect the final merge method (we usually use the fast forwarding merge). Besides, updating (rebase master and apply trailers) each MR before we create the batch MR to avoid rewrite commits after.
--use-merge-commit-batches
option: Use merge commit when creating batches, so that the commits in the batch MR will be the same with in individual MRs.--skip-ci-batches
option: Skip CI when updating individual MRs when using batches. Since we have tested the batch MR, no need to run CI on individual MRs any more after we rewrite the commits.Fixes https://github.com/smarkets/marge-bot/issues/164 https://github.com/smarkets/marge-bot/pull/252