На работе мы используем SVN, но только по названию. Мы не разветвляемся и не сливаемся. У нас есть две копии репозитория, одна из которых служит в качестве ветви «тега», которая копируется, когда мы выполняем развертывание, и сохраняется для исправления ошибок и немедленных функций типа «это должно быть как можно скорее». Мы должны помнить, чтобы скопировать изменения, сделанные в одной копии, в другую копию («ствол»). У нас есть дюжина проектов в одной папке в хранилище, вместо того, чтобы разбивать их. Короче говоря, единственное, для чего мы используем SVN - это возможность коммитить. Все остальное делается вручную.
Я оцениваю Mercurial; Я использовал Git в прошлом (я единственный в команде, кто использовал DVCS), и я быстро собираю Mercurial. Я спорю о том, чтобы представить Mercurial остальной части команды как «лучший способ» сделать что-то, потому что ветвление - это совсем несложно, слияние намного проще, и мы можем фиксировать вещи локально, как душе угодно, и только подталкивать их к центральному. ветвь, когда они готовы. Мы получили бы все преимущества SVN (и в настоящее время мы не получаем многих преимуществ, так как никто не понимает SVN), плюс к новым функциям нам не нужно иметь тонны неверсированных файлов, поэтому если нам придется откатываться Мы влипли. Рабочий процесс кажется немного проще - мы просто должны помнить, что «Commit» является локальным, а «Push» похож на SVN,
Это хороший подход? Имейте в виду, что команда очень гибкая и сделает все, что улучшит качество нашей работы и упростит нашу работу - ИТ-директор даже спросил меня, когда я упомянул, что мы не используем SVN для его потенциала " что-нибудь лучше мы можем использовать? так что он тоже на борту.
I will probably not take DVCS very seriously until I end up on a large development team
Или пока вы не окажетесь в распределенной команде. Мы небольшая команда (5 человек), работающая из 3 мест (а иногда и 5, когда нам не хочется вставать с постели), и переход с svn на hg был долгожданным ...