Keep approvals when rebasing code
Input on handling approvals on rebase from Marge:
GitLab allows to set a required number of explicit approvals for a merge request to be accepted. Moreover, you can set it to reset approvals if someone pushes new changes to the branch. If you use this and Marge-bot rebases the branch, then GitLab will obviously expect re-approval of these changes. If her user is given admin rights, then she can be instructed to re-approve the request on behalf of the original approvers, so that the request can be accepted.
We're discussing adding marge-like merge handling in https://gitlab.com/gitlab-org/gitlab-ce/issues/4176 - which means we'll come up against the "reset approvals on rebase" behaviour in core, and need to solve it somehow. I also think that it's unfortunate that users of Marge who want this behaviour have to give admin rights at the moment.
So we can try to address this orthogonally to #4176. It will benefit marge now, and core when we try to resolve #4176.
I think it's reasonable to allow merge request approvals to be retained across some rebases, as long as the only change is that the branch head has changed.
Wdyt @smcgivern? Could this be global behaviour, or would it need to be configurable?