pr-harmony icon indicating copy to clipboard operation
pr-harmony copied to clipboard

If Required Reviewers is not specified, PR can't be merged at all even it is approved by member of RequiredReviewerGroups

Open indrgun opened this issue 8 years ago • 0 comments

If Required Reviewers field is empty, and the Required Reviewers Group(s) is specified, Pull Request can't be merged even if a user in Required Reviewers Group approves it regardless of the specified number of reviews required.

This:

public Set<String> missingRevieiwers(PullRequest pr) {
    Map<String, PullRequestParticipant> map = transformReviewers(pr);
    Set<String> missingReviewers = newHashSet();

    for(String req : concat(config.getRequiredReviewers(), utils.dereferenceGroups(config.getRequiredReviewerGroups()))) {
      if(reviewerIsMissing(map.get(req)) && !(submitterIsRequiredReviewer(pr, req) && exactlyEnoughRequiredReviewers())) {
        missingReviewers.add(req);
      }
    }
    return missingReviewers;
 }

The

!(submitterIsRequiredReviewer(pr, req) && exactlyEnoughRequiredReviewers())

will always be true because exactlyEnoughRequiredReviewers() is always false.

Boolean exactlyEnoughRequiredReviewers() {
    return Objects.equals(config.getRequiredReviewers().size(), config.getRequiredReviews());
  }

it is always false because the size of Required Reviewers is 0 (empty vs. the specified number of reviews required.)

Stash version : v3.11.2

indrgun avatar Apr 26 '16 07:04 indrgun