Прочитавши декілька "Чому DVCS краще" відповідає на кілька запитань програмистів. Здається, всі вони говорять про те, що взагалі DVCS краще, оскільки у вас немає гонки на фіксацію великих проектів. оновити, здійснити, застаріти знову, здійснити, все ще застарілий тощо.
DVCS обмежують це концепцією поштовху. Однак у дуже великих проектах не відбудеться "гонка", особливо наприкінці дня? Я знаю, що в Git це дещо виправляється постійним розгалуженням для всього, але в Mercurial ви не розгалужуєтесь, ви створюєте нову голову.
Проблема, яку я бачу
- Користувач намагається натиснути
- Застарілий (mercurial не дозволить вам натиснути, якщо ваше місцеве репо-застаріле), тож ви потягнете та об'єднаєте свої локальні зміни
- Користувач намагається знову натиснути, але, поки вони зливали когось іншого, натиснули, тож вони знову застаріли
- Потягніть і з’єднайте знову
- Ще застаріла
- Повторіть
Звучить знайомо?
Це актуальна проблема з дуже великими і популярними репортажами про вбивство? А як же всередині компанії, коли кожен робить свій останній потік дня?
--close-branch
коли вчиняєте - і mercurial назвав гілки, вам не доведеться клонуватись до нового каталогу
hg branch myfeature; hg ci -m "Starting feature branch"; hg push --new-branch