Page MenuHomePhabricator

Add an ACL permission to authorize only few people to accept revisions
Closed, ResolvedPublic

Description

We are using code review process for two reasons : First to check security issues and secondly to check source code quality. We are a team of 40-45 developers, some of them are new, some others have more experience and we don't want the young trainee wrongly accept the revision of another developer.

In the same way a developer cannot accept his own revision, it should be great to create a role "Reviewer" and that only people with this role can accept revisions.

Event Timeline

benjamin.cohen-solal renamed this task from Let few people only the permission to accept revisions (ACL) to Add an ACL permission to authorize only few people to accept revisions.Jan 15 2016, 9:33 AM

Can you explain this problem in more detail? See Describing Root Problems.

For example, why are user accepting revisions they shouldn't be accepting?

Can you just use a blocking review for the people who can truly accept revisions?

T4887 and T731 likely fully overlap with this request.

Yes I'm already subscribed to T4887 but I don't want to add a "blocking reviewer" as any member of the code review committee can accept the revision. And the task T731 is great but is complementary to what I'm asking. The case I describe is not covered by T731.

How doesn't blocking reviewer solve the problem. If only certain people can truly accept a revision, that's the correct feature to use.

OK Chad, but if I add a specific blocking reviewer, another reviewer will be able to accept the revision but this one will stay in status "need review".
And if I add all the members of the code review committee as blocking reviewer, I gonna need all the blocking reviewer to accept the revision.
I'm sorry if my original message was not enough clear.

I gonna need all the blocking reviewer to accept the revision.

You need or we need? Phabricator should only require one individual from the Blocking Reviewer project to satisfy the accept condition.

You need or we need? Phabricator should only require one individual from the Blocking Reviewer project to satisfy the accept condition.

Wow I didn't know that, I think it was not the case before. We used to add all the reviewers as blocking ones and when one of them accepted the review, he had to remove from the revision, manually, the other blocking reviewers.

If the acceptation of only one blocking reviewer among all of them is enough to consider the revision as accepted, I don't need this feature anymore.

But so I don't understand the difference between a simple reviewer and a blocking reviewer.

epriestley claimed this task.

If the acceptation of only one blocking reviewer among all of them is enough to consider the revision as accepted, I don't need this feature anymore.

To clarify, @chad is suggesting that you:

  • put all the users who have permission to accept in a project (say, "Users Who May Review")
  • add the project -- not the individual users -- as a blocking reviewer to all revisions with Herald.

If you add each engineer individually as a user, they'll all have to accept (or you'll have to remove all the non-accepting blocking reviewers).

If you put all the engineers in a project and add that project as a blocking reviewer, only one project member needs to accept.

This has always been the behavior of blocking reviewers.

You can see this behavior in action on this install with the "Blessed Reviewers" project.