Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is difference between Reviewers and Assignees on GitHub?

When I create pull request, I can see two options as Reviewers and Assignees. What is difference between those? I think this is from any of last version of github.

like image 984
Pushkraj P. Lanjekar Avatar asked Dec 27 '16 13:12

Pushkraj P. Lanjekar


People also ask

What are reviewers in GitHub?

Reviews allow collaborators to comment on the changes proposed in pull requests, approve the changes, or request further changes before the pull request is merged.

What does re request review mean on GitHub?

If changes have been made to a pull request that has already been reviewed, you can now re-request a review with a single click in the pull request's sidebar. This will notify the requested reviewers that changes have been made.

What is assignee in merge request?

Using the "assignee" field for both authors and reviewers makes it hard for others to determine who's doing what on a merge request. The merge request Reviewers feature enables you to request a review of your work, and see the status of the review.

How many GitHub reviewers are there?

Yes, GitHub used to have a limit of 15 reviewers per Pull Request. However, it was recently updated to be a limit of 100 reviewers.


2 Answers

Reviewers and assignees are a tool for organizing who is working on what pull request and issue. They don't confer any extra permissions.

Reviewers are people you are specifically requesting to review your pull request. From the docs...

Pull request authors and repository owners and collaborators can request a pull request review from anyone with write access to the repository. The requested reviewer will receive a notification that you asked them to review the pull request.

Whereas "assignees clarify who is working on specific issues and pull requests", also from the docs.

The specific difference is up to the project, but the basic difference is that reviewers are expected to review, and the assignees are in charge of actually handling the merge (which probably also includes review).

For example, if I was submitting a pull request that changed the type system, I might assign it to the person in charge of the type system to take care of; that might be a specific person, or the project lead. Or I might assign it to whomever said they'd take care of it in the project chat. An assignee says "this person is handling the issue".

But if that pull request also has Windows specific code, I might request a review from someone on the project that knows Windows well.

Another use might be to always have two people look at a pull request, one reviewer, one assignee. In this case that would be handled by a project manager ensuring that every pull request has both an assignee and a reviewer.

like image 59
Schwern Avatar answered Oct 26 '22 21:10

Schwern


"assignee" has a looser definition and can be used different to suit team needs.

In our team of 8 devs, we have 1 reviewer and up to 2 assignees. We use "assignee" to designate person who opened the Pull Request and is responsible for making the Pull Request comment/change requests. At times, if a QA is involved with merging & closing the PR, QA-person is also added as assignee.

Using "assignee" helps locating the PR in future easily. One of my project has >3000 PRs.

is:open is:pr author:raya-dumas

is:closed is:pr assignee:raya-dumas

Also have a look at this: https://stackoverflow.com/a/41174022/342794

like image 26
lal Avatar answered Oct 26 '22 22:10

lal