Branching Model
Diversion uses a ref-based branching model similar to Git, with stream-topology concepts borrowed from Perforce Streams. Branches are instant to create (no copy), cheap to maintain, and support merge-direction policies.
Branch Types
- main: the integration branch. Protected by default — requires merge review for Studio plan.
- release/X.Y: stabilization branch. Maps to a P4 release stream.
- feature/<name>: short-lived work branches. Created per task or sprint.
- hotfix/<name>: emergency fix branches forked from release.
Creating Branches
diversion branch create feature/cityhub-rework --from main
diversion branch create hotfix/menu-crash --from release/0.9
Branch Diagram
Merge with Bake Detection
diversion merge main --check-bakes
# âš Stale bake: City_Hub_BuiltData.uasset
# main has fresher bake (2026-04-11). Recommend: use main version.
# Proceed anyway? [y/N]
Delete a Branch
diversion branch delete feature/cityhub-rework
# ✓ Branch deleted (remote and local ref removed)