У нас есть система контроля версий Mercurial, и у нас возникают трудности с управлением выпуском для обязательных функций, дополнительных функций и исследований. У нас есть два отдельных репозитория: один для выпуска и один для разработки.Как управлять репозиториями исходного кода для запланированных выпусков, разработки и исследований
Мы планировали развертывание каждую четверть. Поэтому мы разрабатываем функции (обязательные и необязательные) в течение трех месяцев, а тестеры тестируют функции на сайте Dev (непрерывная сборка).
В конце цикла выпуска мы должны принять обязательные и необязательные функции (только QA) от разработки repo и вручную скопировать их в репозиторий выпуска. Мы не можем объединить репозиторий разработки в выпуск и скопировать файлы вручную, потому что во время выпуска в репозитории разработки могут быть не проверены/неработающие функции/код. Затем мы создаем тестовый сайт из репозитория выпуска и тестируем тестеры. Если обнаружены какие-либо проблемы, они сначала фиксируются в релизе репо, а репозиторий релиза объединяется в репозиторий разработки.
Однако из-за ручного слияния существует вероятность копирования нежелательных изменений/файлов в репозиторий выпуска и возникновения проблем.
Может кто-нибудь, пожалуйста, посоветуйте, как избавиться от этой ручной копии с использованием Mercurial? Я уверен, что это стандартный процесс для компании-разработчика, и для этого должен быть более совершенный процесс.
спасибо.
Я думаю, что основная проблема заключается в том, что вы рассматриваете систему управления распределенной версией, так как через нее была централизованная система управления версиями с линейной историей. Вы должны принять древовидную структуру истории версий. –
http://nvie.com/posts/a-successful-git-branching-model/ –