Branching strategy

From AccountIT
Revision as of 15:09, 16 February 2014 by Arvinder (Talk | contribs)

Jump to: navigation, search

Our mantra : "Trunk is always releasable"

Configuration Management is based on Version Control for Multiple Agile Teams by Henrik Kniberg. Highlights from the document are:

  • trunk is always releasable
  • all work is done on development branches
  • frequent merges from branches back to trunk (when in a releasable state, of course)
  • frequent merges from trunk to branches in order to get latest changes from other teams
  • all maven version numbers on trunk and branches should be SNAPSHOT-versions.

An example of a workflow in SVN:

  • Branch out from trunk
    • Name the branch <defect / feature id> ; e.g. branch DEF-1234 used for fixing defect issue DEF-1234. For feature FEA-1234 branch FEA-1234 is created and used for development.
  • Do the work
    • Develop and test locally
  • Verify successful integration test
  • Commit the work in SVN
  • Merge branch back to trunk