I'm looking to make code reviews a required step to accept code into our code base. Been playing with Stash & Crucible to see how they could be setup to help me accomplish this, but am struggling to find a good answer.
To start with, I think the basic features I'm looking for (with the https://www.atlassian.com/git/workflows#!workflow-feature-branch in mind) are:
- Require review approval to merge code on the "master/develop" branch. Note: various options for submission here (patches, feature branches to merge, forks), I'd prefer to allow submitters to work/push "feature" branches and control merges into restricted branches.
- Require a minimum of X approvals (based on the repo/repo area)
- Required approvers come from a pre-defined list of users (based on the repo/repo area)
- Self-approval toggle switch (e.g. can one self-approve or not?)
- Allow additional reviewers to participate
Stash, via the "pull request" system seems to cover only #2 (and #5?), but not the rest, although it's pretty close on #1 as it has ACLs for branches, but not based on pull request status.
Crucible, surprisingly seems to fall short on all fronts. (uh?!) What am I missing here?
Curious about whether I'm looking at this the wrong way, or whether there are plugins/hooks that'd do the job here.