Skip to content
This repository was archived by the owner on Nov 18, 2021. It is now read-only.
This repository was archived by the owner on Nov 18, 2021. It is now read-only.

Push to PR cannot always reset reviews #783

@aspiers

Description

@aspiers

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions