Касаемо систем контроля версий всё не так просто и красиво, к сожалению.
Мы со своим довольно сложным проектом (не одним, впрочем) некоторое время назад плавно переехали с Subversion+Bugzilla на git+Redmine. На svn жить при большом объеме кода и обширной истории невозможно, конечно. Но тут всплывает другая сторона вопроса: имеющаяся реализация git для Windows (пробовали msysgit + TortoiseGIT) работает по сравнению с Unix-версией очень медленно (хотя всё равно быстрее subversion) и имеет целый ряд плавающих проблем, связанных с переносами строк, регистрами имён файлов и так далее.
Для большей части нашей команды это некритично, сидим в основном на Linux. Но есть разработчик, работающий под Windows. И каждый раз, пытаясь совместно с ним разрулить эти проблемы, подумываю о замене git на mercurial.