Мы используем SVN, где я работаю.Большая часть работы выполняется в транке, но некоторые люди предпочитают тянуть ветки, чтобы работать с большими, разрушительными функциями.У нас есть соглашение, согласно которому мы объявляем, что транк заблокирован, когда мы объединяем ветку обратно в транк.Смысл этого состоит в том, чтобы предотвратить прямые коммиты по транку, пока происходит слияние, что требует еще одного слияния до совершения слияния обратно в транк.,(Или, возможно, они просто придурки. Что угодно.) Мы говорили об использовании DVCS, который, вероятно, решит эту проблему (кажется, что это присуще понятию «распределено»), но без опыта работы с ними я не вижуhow.
Используя Mercurial в качестве своего предпочтительного яда, для слияния я сначала вытащу из центрального репо и выполню слияние локально.Если кто-то отправит изменения в центр до того, как мое слияние будет завершено, мой толчок все равно будет неудачным, потому что он создаст удаленную головку, правильно?Итак, снова я должен вытащить, объединить, построить, и в это время кто-то еще может внести дополнительные изменения в центральную.Как это лучше, чем ситуация с SVN?