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.