Feature branches in Midgard development with git

The release synchronicity plan was accepted, and therefore Midgard will be switching from SVN to git, and the concept of feature branches.

With feature branches the idea is that each feature or bug fix is being developed in its own branch, and only landed to trunk (master in git terminology) when ready. This keeps the trunk clean and easy to test.

While the SVN migration will only happen in next developer meeting, you can already start using git for Midgard development thanks to git-svn. Once you have a working checkout, here is how you work with feature branches:

Ensure you have the latest stuff:

git svn rebase

Create a new branch:

git branch mynewfeature

Go to the new branch:

git checkout mynewfeature

Hack, add files, commit, test

Ensure the diff looks correct:

git diff master..HEAD

Go back to master:

git checkout master

Merge your feature branch:

git merge mynewfeature

Commit to SVN:

git svn dcommit

If you want to also work with other Midgard or MidCOM versions from SVN, check out the how to track multiple svn branches in git tutorial.

Read more Midgard posts.