Я работаю в компании, занимающейся веб-разработкой, которая использует Mercurial в качестве DVCS. В настоящее время мы находимся в процессе создания новой версии сайта, которая уже находится в производстве.
В одном и том же репозитории существует ветка stable и development сайта. На производственном сайте запускается ветка stable , и разработчики, очевидно, кодируют ветку development ( dev с этого момента) (кроме исправлений).
Эта модель довольно новая для нас. После последней крупной производственной попытки мы создали ветку разработки из только что выпущенной стабильной ветки (используя hg branch dev из последней stable ревизии и взяли на себя обязательство создать новую наконечник ). * * тысяча двадцать-одна
Значительное количество нового кода существует в ветке dev теперь, когда мы приближаемся к другому выпуску. Между тем ветвь stable видела только исправления ошибок, все, что уже было перенесено через в dev ветку.
Когда мы удовлетворены состоянием ветви dev и считаем, что оно готово к работе, нам нужно текущее состояние ветви dev . стать новой стабильной веткой. В один быстрый ход ветка stable ассимилирует тонны изменений, которые были внесены в ветку dev . Ветвь dev будет (как мы полагаем) по существу станет неактивной до того времени, когда мы снова начнем разрабатывать новые вещи.
Каков правильный процесс для достижения этого? Простое слияние из кончика dev с проверкой кончика ветки stable или что-то еще? Как я уже сказал, все изменения в stable уже существуют в dev , поэтому мы согласны с тем, что dev просто становится stable как есть .
И после того, как мистическая трансмогрификация dev в stable была выполнена, и результат был помечен, каков процесс начала дальнейшего развития на dev снова, так как после слияния с stable у него не будет активного tip для проверки? Просто посмотрите последнюю версию dev до слияния и сделайте коммит, чтобы создать новый tip ? Это кажется неправильным; мой инстинкт инстинкт подсказывает мне, что "new dev " должен быть выделен из объединенной и помеченной tip ветви stable , но я не знаю как это сделано (Как уже говорилось, в прошлый раз мы сделали это, создав вначале именованную ветку dev ; на этот раз мы просто хотим создать новый tip для существующих, хотя, вероятно, неактивных - post-merge dev branch)
Простые вопросы всем, кто более привык к распределенному контролю версий и Mercurial, но это не так давно, как мы покинули SVN-land, и все еще немного туманно. Любая помощь приветствуется.