You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

This page describes the branching model we want to apply for development at Magnolia.

The model

The model is basically the same as described in a blog post.

Differences

  • We'll not use hotfix branches
  • We'll use the term develop branch (not integration branch)

Continuous integration (Hudson)

The following branches will have a continuous integration job running

  • master
  • release branches
  • develop

Build (maven)

  • same snapshot version (develop and master)?
    • see open Issues

Maintenance

  • no changes
  • no hot fix branches (for the moment)

Feature branches

  • remove them after the final merge
  • list of feature branches --> things we are actively working on or are waiting
  • how to remove the branches?

Rules

  • central repo
    • no feature branches
  • merging at the end of the sprint (develop -> master)
    • scrum masters
  • on develop branch
    • revert immediately as soon it fails

Open Issues

  • feature branches [Daniel]
    • how to share them without having them on the central repo
      • ppl could define remote repos on others computers
        • spider net! - over time every dev will work with every other...
        • no out-of-the-box backup
        • hard to track what's being worked on
      • According to Greg nothing speaks against having them in central repo!
  • version conflicts for snapshots [Daniel/Gregory]
    • do we need a special version?
    • other repository?
    • dev classifier?
    • something has to guarantee that not the wrong versions are used on the master!

Links

By the way: feature branching vs. continuous integration has heavily been debated - mainly because of Martin Fowler's vote to not go for feature branches. Here's a bunch of links around it:

 

  • No labels