githubpull-request

On GitHub, what's the difference between reviewer and assignee?


A feature added on Dec, 7, 2016, announced on GitHub blog, introduced the option to add reviewers to a Pull Request

GitHub Review Option

You can now request a review explicitly from collaborators, making it easier to specify who you'd like to review your pull request.

You can also see a list of people who you are awaiting review from in the pull request page sidebar, as well as the status of reviews from those who have already left them.

However, explicit setting a reviewer for a PR was already done by assigning people (assignees option).

With both options now available, what's the role of each option since they both share the same end goal?


Solution

  • After discussing with several OSS maintainers, "reviewers" is defined as what the word supposed to be: to review (someone's code) and "assignee" has a looser definition explained below.

    Reviewer: Someone you want to review the code. Not necessarily the person responsible for that area or responsible for merging the commit. Can be someone who worked on that chunk of code before, as GitHub auto-suggests.

    Assignee: Up to the project's team/maintainer what it means and there's no strict definition. It can be the PR opener, or someone responsible for that area (who is going to accept the PR after the review is done or just close it). It's not up to GitHub to define what it is leaving it open for project maintainers what fits best for their project.

    Previous answer

    I'll go ahead and answer my own question.

    For PR of users with write-access: the assignee would be the same person who opened the PR, and reviewer would replace the old assignee function (reviewing code), being this one someone of assignee choice.

    For PR of users without write-access (outside contributors): Someone with write-access would assign herself (or other write-privilege member), to review the PR (Reviewer). Assignee is blank.

    For unfinished PR from outside contributors: the write-access member would take the unfinished work and assign for her. She will be responsible for finishing the task, being the Assignee. Since the main reason of PRs is reviewing changes, she would select some other people to review the changes.