Как вы связываете названную ветку с другим набором изменений в Mercurial? - PullRequest
0 голосов
/ 12 октября 2010

Я преобразовал репозиторий из Git в Mercurial и создал именованную ветку production для нашей производственной разработки.К сожалению, через неделю мы только что поняли, что ветка production находится на неправильном наборе изменений.

Несмотря на то, что мы внесли ряд изменений в репозиторий, никаких изменений в комитете не было.production ветка еще.Мне нужно как-то заново связать имя production с правильным набором изменений или удалить ветку и воссоздать ее.

Какой лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 12 октября 2010

Вы можете сделать это очень легко, используя расширение mq.Очевидно, что для этого требуется, чтобы каждый получил новый клон репозитория.

Если ветвь production была создана в наборе изменений 869, и вы хотели получить его в наборе изменений 842, вы можете сказать:

hg strip 869
hg update 842
hg branch production

Это удалит набор изменений 869 (и всех его потомков) из хранилища, перенумерует все последующие наборы изменений, чтобы заполнить пробелы, а затем назначит имя production правильному набору изменений.

0 голосов
/ 12 октября 2010

Если еще не было «коммитов в ветку production», тогда ветвь еще не существует.В именованных ветвях Mercurial имя ветки является несмываемой меткой на зафиксированной ревизии.Набор изменений никогда не меняет ветвь, в которой он находится.Я предполагаю, что у вас есть по крайней мере один набор изменений с меткой ветки production, или это превращается в без проблемный вопрос.

Если вы выполните эти действия, я думаю, что вы в конечном итоге все в порядке:

  1. hg update до требуемой ревизии был начальник производства
  2. hg branch production это просто говорит о том, что следующий коммит должен иметь метку производства
  3. hg commit теперь у вас будет новый коммит с надписью production

Теперь, когда люди делают клон просто производства:

hg clone repopath#production

или

hg clone -r production repopath

или обновите его

hg update production

Они получат ту ветвь разработки, которую вы хотите.Эти старые наборы изменений будут (и всегда будут) иметь метку production, но это, вероятно, нормально.Если это не совсем нормально, вы можете перестроить репозиторий и удалить ярлыки с этих коммитов, но описанный выше процесс заставляет людей клонировать / обновлять production нужные вещи, так что у вас все будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...