Branches

MetaCroc logo

Branches #

Open Branches from the activity bar. The page works on the system selected in the project tree; without a system it shows Select a system to view branches.

Branches page with the branch tree and the detail of feature/customer-segment

Branch tree #

The left panel shows Branch tree with a search field (Search branches…, filters by name) and filter pills:

FilterShows
OpenedActive branches (default together with Locked)
LockedLocked branches (default)
ArchivedArchived branches
DeletedDeleted branches
ProtectedOnly protected branches

Default view in a system you open for the first time:

  • Opened and Locked branches are shown
  • Only the path from main to your active branch is expanded
  • The active branch carries the Active tag

Branches that do not match the filter but are needed to keep the tree continuous (for example an archived parent) are shown greyed out. Your filter and expanded nodes are remembered per user and system.

Right-click a branch (or use its menu) to open the context menu described below.

Create branch #

Click Create branch in the sidebar, or Create branch in the context menu of the branch you want to branch from.

Create branch dialog

FieldDescription
Source branchBranch the new branch starts from
NameRequired, unique within the system (placeholder feature/...)
Required approvalsHow many people must approve a merge request into this branch. Pre-filled with the system parameter Minimum number of approvers; allowed range is that minimum to 10
DescriptionOptional, Markdown

The new branch is Active. Every element starts from the source branch’s current version (see Concepts); relations are copied as well.

Branch detail #

Select a branch to open its detail.

Branch detail with the comparison against the parent branch

  • Header: branch name, status badge (Opened, Locked, Archived, Deleted), Active badge when it is your working branch, Protected and Confidential badges
  • Description: rendered as Markdown
  • Branch info: Source (parent branch or Root branch), Required approvals, Created and Updated with by {user}
  • Buttons: Create merge request, Update deployment package, and the context menu
  • Compare / Cherry-pick tabs: embedded comparison with another branch (Compare with), by default the parent. For main, select a branch first (Select a branch to compare with.). See Compare and diff and Rebase and cherry-pick.

Context menu #

Context menu of a branch in the branch tree

ItemAvailabilityEffect
Edit branchOpened or LockedEdit name, description, required approvals
Rebase from parentOpened, not protected, has a parentSee Rebase
Create branchNot deletedCreate a child branch
Create merge requestNot deletedOpens the MR dialog with this branch as source
Set as activeNot the current active branchSwitch the project tree to this branch
Lock / UnlockAdminStatus Locked ↔ Opened
Archive / Restore from archiveAdminStatus Archived ↔ Opened
Mark as protected / Remove protectionAdminToggle the protected flag
Compare with…AlwaysCompare this branch against a selected branch
DeleteAdminSoft-delete after confirmation Delete branch “{name}”?

Admin items are disabled for other users with the note Admin actions require the Project Admin role. In the current build, “admin” means a user who is an administrator or has the create system permission.

Edit branch #

Edit branch changes Name, Description, and Required approvals.

Edit branch dialog

  • Allowed only for Opened and Locked branches (also protected ones and main)
  • The name must not be empty or used by another branch (Enter a branch name., A branch with this name already exists.); the name of main cannot change
  • Required approvals must be between the system minimum and 10
  • Changing required approvals re-evaluates the quorum of open merge requests into the branch
  • Renaming does not change existing version labels
  • The change is written to the audit log

Delete branch #

Delete is refused when:

  • the branch is main
  • the branch has child branches that are not deleted
  • another user has elements of the branch locked

A deleted branch keeps its record (status Deleted), but its working data, element tree, and relations are removed. There is no restore for deleted branches.