Why git ?¶
We have been using subversion (SVN) for Jamoma for a while now, but as the project went bigger and bigger and welcomed more contributors, this control version system became increasingly inadequate to our work-flow.
In particular, with the partition in several sub-projects distributed among several repositories (i.e. Jamoma modular on sourceforge, but DSP and Multicore and more on googlecode), it has become a nightmare for new developers to join the project, checkout these different repositories and arrange them correctly on their machine.
Furthermore, the branch management in SVN is not very efficient and prevented us to work on different branches for different development efforts simultaneously. This resulted in the impossibility to continue updating a stable release version while moving forward on some more experimental things. The result was great difficulties when it came to maintaining and upgrading release versions, which was one of the major causes of instability of Jamoma.
This change is also particularly sensible now (September 2009), because we planned some deep changes for the upcoming 0.6 release (in particular during the Montreal workshop), that will imply several parallel development efforts in the next 2 years that would have been unmanageable otherwise.
We know that moving to git is quite an effort for Jamoma developers, but we are convinced that this will benefit a lot in the long run...
We are working to make life easier for people willing to go on and switch, by writing some documentation on git in Jamoma and also a
git client in MaxMSP
Obviously, there's still some work to do to make all this easier to use, and to absorb the changes in our workflow that this move represent, but we hope that you will see the interest of such a move...
Please don't hesitate to give some feedback on the usage of git or any other related subject on the Jamoma developer list
If you want to know more about git, we advice that you to look at