Я годами использовал Mercurial локально, но сейчас мы проводим пилотный переход от Subversion в моей компании.
Мы учитываем тот факт, что разработчики теперь будут делать более детальные изменения - некоторые из которых могут даже не собираться. Когда разработчики помещают свои изменения в центральное хранилище, все эти наборы изменений появятся в истории - это естественно и ожидаемо.
Мой вопрос: как мы можем справиться с тем фактом, что, поскольку наборы изменений являются более детальными, это позволяет разработчикам обновить версию, которая не собирается? Мы пришли из мира, где вы можете оформить покупку в любом месте репозитория и ожидать, что сможете сделать релиз с этого момента. С DVCS, как узнать, где находится «безопасная» ревизия?
Эта проблема несколько решена в этом вопросе , но мне больше интересно узнать, как с этим справиться, используя репозитории (а не именованные ветки).
Я понимаю, что есть способы изменить историю (например, расширение свертывания ), чтобы изменения сворачивались в истории хранилища, но мы хотели бы сохранить историю.
Глядя на деревья mercurial и mozilla , я не вижу четкого способа определить, где безопасные ревизии должны синхронизироваться. Разве это не так важно, как мы думаем?