recall

← recall

trunk-based development pattern

All engineers commit to a shared mainline daily (or more). Feature branches are short-lived (hours, not weeks). Long-lived branches are avoided because they accumulate merge debt and decouple individuals from the integrated state of the system. Pairs naturally with feature flags for gradual rollout.

All engineers commit to a shared mainline daily (or more). Feature branches are short-lived (hours, not weeks). Long-lived branches are avoided because they accumulate merge debt and decouple individuals from the integrated state of the system. Pairs naturally with feature flags for gradual rollout.

symptoms

  • merge hell from long-lived branches
  • integration surprises at PR time
  • feature branches outliving the feature

causes

  • feature branching by default
  • no flag mechanism for partial rollout

fixes

  • everyone merges to main daily
  • feature flags for incomplete features
  • fast CI to keep main always green

you might say

  • trunk-based dev
  • TBD
  • merge to main daily

related

topics: accelerate, deployment

references: