Skip to content
Alan B. Christie edited this page Feb 26, 2026 · 10 revisions

The xchem trunk-based development wiki.

Guidance for using external repositories and guidance for new repositories that wish to follow trunk-based development paradigms, where small, frequent updates are merged into a single "trunk" or main branch, avoiding long-lived feature branches.

Using external repositories

If we use code in an external repository we need protect ourselves from changes that might affect our experiments and applications. This is typically achieved using a disciplined develpment process that results in changes being tested and tagged.

See: -

  1. Our wiki page: Using non-xchem repositories

Creating new trunk-based repositories

For our own code, where an alternative paradigm isn't compelling, we should follow a trunk-based development process, which essentially means that we have one "main" branch and make all releases from that branch: -

  1. The trunk (main) branch is the only repository branch expected to exist for significant periods of time
  2. No commit pushed to the repository trunk should jeopardise the ability to "go live"
  3. Developers work on short-lived branches (the "Scaled Trunk-Based Development" pattern) that originate from the trunk (see the diagram below)
  4. Releases are made from the trunk and are tagged

Illustration

Image courtesy of "Explaining Trunk Based Development" on travis-ci.com


Clone this wiki locally