Skip to content

Branches

mastercoms edited this page Jan 19, 2022 · 5 revisions

Main branches

  • main: This is the unstable, experimental branch for programmer work.
    • Updated as new source and content changes come in from programmers
  • trunk: This is the live working tree for programmers to work together in.
    • Updated from main, and as programmers commit directly to the branch
  • promoted: The main, relatively stable branch for creative work.
    • Updated regularly with the latest stable code from main and as new content changes come in from creatives.
  • stable: This is the stable branch for all playtesting purposes.
    • Updated as needed with the latest stable, quality code and content from promoted
  • release: This is the release branch for public access.
    • Updated as needed with the latest stable, quality code and content from stable

Developer branches

Code branches

Feature branch workflow

For the feature branch workflow, programmers will actively branch off main to deploy new features and fixes.

These branches will be of the format code/branch-name for new feature/fix branches.

The branches will be merged into main after a review by anyone, including at mobs, and a final approval coming from a programming team lead.

Trunk based workflow

For the trunk based workflow, programmers will work directly on the trunk branch, committing work just in time for it be usable by other programmers.

This branch will be merged after a PR as needed, with the same review process as feature branches.

Creative branches

Creatives will work on the promoted branch to add, modify or delete content.

Files will be locked on this branch before they are checked in.

Engine updates

Programmers will work off the latest engine source.

The engine versions in promoted, stable and release will be updated with each new minor, major & release version updates.

Hotfixes

Sometimes the stable or release branches have flaws that must be fixed sooner than their update cycle allows. These fixes may be merged to all branches through a branch of the format hotfix/target-branch_branch-name off of stable or release.

Next steps

Now you know our branch structure, let's learn how to put it into action with our contribution guide!

Clone this wiki locally