Это вопрос двоюродного брата с моим более ранним вопросом "Как управлять параллельной разработкой с помощью меркуриального", который охватывает индивидуальный рабочий процесс разработчика. Ответ на этот вопрос будет фактически влиять на выбор рабочего процесса разработчика.
Это НЕ общая "лучшая практика управления релизами" или вопрос CI, как это было спросил many раз с хорошими ответами, и там доступно огромное количество литературы, чтобы убить время.
Я только прошу указать конкретные способы использования mercurial в контексте управления выпуском.
Самый очевидный и преобладающий ответ предположительно будет стабильным/по умолчанию, который полностью покрывается красивый блог @Steve Losh, и более кратко в ответе от него. Это просто и эффективно.
Важным примером этой настройки является сам hg. hg использует несколько репозиториев для активной разработки, но для целей управления выпуском все, кажется, содержится в ветвях стабильной/дефиниции main repo.
Настройка hg фактически демонстрирует вариацию, а точнее расширенную версию стабильного /default: клон ветвей. Я описал процесс в ответе на вопрос об именованной ветке и множественных репозиториях (с другим отличным ответом от @Martin Geisler). В моем ответе я забыл упомянуть, как клон работает для рабочего процесса разработчика: если вам нужно исправить ошибку для ветки, вы бы hg clone <main repo>#<branch>
, но не клон ветки, потому что ваш набор изменений по-прежнему будет возвращаться к основному репо и автоматически выталкивается в клон. Конечно, вы можете отказаться от клонирования и просто hg update <branch>
в вашем основном клоне, но большинство аргументов для использования отдельных клонов (особенно для независимой сборки) применяются здесь.
Теперь вернемся к вопросу: Есть ли другие способы, которые подходят для разных сценариев реального мира?. Например, традиционный цикл релиза основных/второстепенных/патчей с длинным промежутком между релизами, возможно, требует довольно различный рабочий процесс, чем быстро развивающееся веб-приложение "release-как-вы-go". Пожалуйста, также прокомментируйте, к примеру, стабильный/дефолтный и клон-клон, если вы хотите.
Поскольку это почти вопрос опроса, я могу только попытаться принять "лучший" ответ субъективно. Если я смогу получить еще несколько ответов, чем мой вопрос рабочего процесса разработчика, то есть.
Спасибо за все ваши данные!