the debate within the team has been going on for a while… should we stay with svn or should we move to turvald’s git? should we stay centralized or is it time to decentralize our version control system?
on the personal level git will allow move a bit faster with a full local history for every developer and the benefit of quickly switching between branches. as a team we saw the flexible workflows was can work with under git and really take advantage of branches as frequently as we checkout an issue on jira. though the top of the pile was the lack of merge hassle. almost every developer on the team has some fear associated with merging their code and the longer they have been working on their branch – the bigger the elephant in the room grew.
1. create a read only copy of our repository
2. pull all the changes from subversion
3. migrate our toolset away from svn to git (CI, code reviews etc)
4. make the switch
re-educating the development team is one of those harder tasks. ideally there are a few git champions within the team that can infect the rest with their passion for the switch. take under account that no matter what you do, some will resist and it will take a few months before everyone is aligned and appreciative of the change.