
Permissions #
Branching uses the existing MetaCroc access management (ACL on systems and elements). There are no separate branch roles yet.
What applies today #
| Area | Rule |
|---|---|
| List branches | VIEW permission on the system |
| View, edit, push, lock elements on a branch | Element ACL (VIEW, EDIT, FORCE UNLOCK), same as without branches |
| Lock, unlock, archive, restore, protect, delete a branch (UI) | Administrator or user with the create system permission (Admin actions require the Project Admin role.) |
| Create branch, edit branch, rebase, compare, cherry-pick, create MR | Any user who can see the system |
| Approve, request changes, reject an MR | Any user except the author (unless self-approval is allowed); one vote per user |
| Merge an approved MR | Any user who can see the MR |
| Close or reopen an MR | Author |
| Cherry-pick | VIEW on the target system and on each transferred element |
| Change Minimum number of approvers | Editing the system (Overview) |
Protected branches #
A protected branch accepts changes only through merged merge requests:
- push on the branch is rejected for everyone
- rebase and cherry-pick into the branch are blocked
- merge requests into the branch work normally
Use Mark as protected / Remove protection in the branch context menu.
Confidential branches #
The Confidential flag (restrict to explicit permissions) is stored and shown as a badge. It is currently enforced only for cherry-pick: users without VIEW on the system do not see a confidential source branch. Confidential branches are otherwise still listed and accessible.