Henrik's method is described as a complete pattern, with all elements carefully described. An emphasis is placed on a clear understanding of what "done" means, and he proposes that this must include regression. The pattern includes
- Branch owner & policy
- The "done" concept
- The Done branch
- When do we create additional branches?
- Work branches
- Publishing from work to trunk
- What if our team implements multiple stories in parallell?
- Done includes regression testing!
- Diverging code (merging conflicts)
- Multiple teams - what if other teams are publishing to the trunk as well?
- Release branches
The preceding diagram is an excerpt from the cheatsheet that accompanies the article. Graphics play an important part in explaining Henrik's approach so, in addition to the printable InfoQ version of the article, a separate printable .pdf is provided, as well as a one-page summary .pdf (cheatsheet) for developers to print and post as reminders at their work stations.