You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 18, 2021. It is now read-only.
If a pull request branch is updated via a push (force or otherwise), it should invalidate any approvals submitted via the new review system, because the update could introduce new changes which the previous approvers might not approve. Currently this invalidation does not happen, which means that there is a high risk of these new changes getting merged even though they were never reviewed. This significantly weakens the reliability of the review system. Gerrit is an example of a code review system which handles this correctly: only the reviews on the latest patch set are taken into account.
As a result of this approach, Gerrit additionally invalidates disapprovals as well as approvals. There are arguments both for and against that behaviour (and hence whether it should be replicated on GitHub):
If someone submits a review of an early version of a PR which requires changes (i.e. a -1 vote), then if that disapproval is not reset when a new version of the PR is pushed, it means that a follow-up re-review from that specific person is required before the PR can be merged. That has one advantage of ensuring that the concerns they expressed are fixed by the new version; however there is a risk that that person may go AWOL and leave the PR blocked forever. In that case, a workaround might be to close the PR and resubmit it. This might seem like an overly noisy approach, but OTOH it might be good to make the process of effectively manually overriding someone's disapproval a noisy operation.