smarkets / marge-bot

A merge-bot for GitLab
BSD 3-Clause "New" or "Revised" License
701 stars 136 forks source link

Improve batching: allow batch MRs use merge commits #264

Closed tclh123 closed 4 years ago

tclh123 commented 4 years ago

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.

Fixes https://github.com/smarkets/marge-bot/issues/164 https://github.com/smarkets/marge-bot/pull/252