March 13th, 2018 by inflectra
Late last year we decided to migrate our core applications - SpiraTeam, KronoDesk and Rapise - from our legacy on-premise Subversion server (that we had been using since 2007) to our own cloud hosted TaraVault service. We realized we should always be using the same services as our customers, commonly known in the industry as "eating your own dogfood". If we didn't like something in TaraVault, we would be motivated to change it!
In addition to moving all of our core systems to the cloud, we also decided it was the perfect time to migrate from our trusty Subversion workflow to a more decentralized, branch (vs. Trunk) driven approach that would be possible with Git. With Git we can now have different sprints working in their own branches, and only release the code to our Jenkins server once it has all its automated unit tests and other functional tests passed. It allows us to commit code to TaraVault into our branch (so that we can easily revert changes) without polluting the main branch until it's ready. It has made the job of our QA manager and testers much easier, they know now that only code that is ready for testing gets merged into master.
However one big hurdle was how to move our Subversion repositories to Git, and keep their full branch and commit history intact. We found lots of resources online covering different aspects of the migration, but to make things easier for our customers, we have written up a handy KB article on the steps to migrate from Subversion to a cloud hosted Git service like TaraVault. We hope you find it useful.