Back To The Sources – Version Control Systems: From Subversion to Git

Now that you have an overview of how our sources are organised into (sub-)projects let’s see where to find them.

From Subversion to Git

A little bit more than one year ago we switched all our projects sources from the centralised source control management tool Subversion to the distributed one Git. Even if it is always a challenge to change such tool which is the central piece of your development (you need to train your teams, adapt your tools and processes), it was necessary to improve our ability to quickly evolve, and manage long-term branches to develop new features or to maintain previous releases of the product (we’ll see in a future article how we benefit from it nowadays with our acceptance infrastructure managing live instances deployment of feature branches currently developed).

For the migration we didn’t chose the possibility to run both systems in parallel to avoid to maintain them twice and to enforce our teams to switch to Git as soon as possible. I automated the conversion of all our projects from our old subversion ( and it occurred a week-end. I was really satisfied by svn2git thus I wrote a little script to do it.

Sources repositories

We are now hosting our projects on Github in a dedicated organisation exoplatform. Unlike in Subversion where we stored everything in a unique repository, with Git we created one repository by project to better handle the lifecycle of each of them (with git when you create a branch it is for the whole repository unlike in subversion where it was for a subdirectory).

The current list of repositories compounding eXo platform is the following :

Note : There is also GateIn, our portal layer, which is a project co-developed with RedHat and whose source code is hosted on its own Github organisation :

Make the most out of eXo Platform 4

Register to the next webinar and get a complete overview of what you can do with eXo Platform 4. Reserve your seat now!

Related Posts


Speak your mind

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">