Объединение одной названной ветви в другую (догоняющая), но сохраняя две ветви - PullRequest
3 голосов
/ 24 февраля 2012

У нас есть две именованные ветви в Mercurial:

  • "default" - ветка "исправления ошибок", в которой мы исправляем ошибки
  • "редизайн" именованной ветви, где мы делаем совершенно новуюUI-дизайн для приложения

Теперь я хотел бы объединить мою ветку «исправление ошибок» с веткой «редизайн».Но оставляя ветку «исправления ошибок» нетронутой .

Другими словами, я хочу обновить свою именованную ветку по умолчанию, но без фактического объединения ветвей.Не могу найти путь к этому ...

Должен ли я просто сделать

hg merge default

, находясь в моей названной ветви?Но сохранит ли это две ветви?

PS.Я новичок в ХГ, извините, если это глупый вопрос ...

Ответы [ 3 ]

3 голосов
/ 24 февраля 2012

Я хочу обновить свою именованную ветку по умолчанию, но без фактического объединения ветвей

Т.е. вы хотите объединить ветви в терминах Mercurial - объединить по умолчаниюперепроектировать.В Mercurial ветвление слияния не означает «Вы больше не можете использовать объединенную ветвь» - вы можете просто обновить заголовок ветви, отредактировать и зафиксировать

1 голос
/ 24 февраля 2012

Mercurial не удалил вашу ветку после слияния с Alex, он просто получил файлы из ветки src (redesign) и слил ее с целевой веткой (default).Ваш товарищ по команде продолжит работать в ветке src после этого, и если вы захотите снова получить следующие версии, вам просто нужно снова выполнить слияние.

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

1 голос
/ 24 февраля 2012

Я не использовал ветки Mercurial, так как мы используем Kiln-репозитории (в основном клоны репо, хранящиеся на сервере вместе с оригиналами).Когда мы объединяем изменения из одного репо в другое, это не изменяет исходное, это скорее «копирование изменений из ветви A в ветку B», чем слияние.Возможно, ветки Mercurial работают точно так же.

Самый простой способ проверить это, это где-то клонировать репо и выполнить слияния.Пока вы не нажимаете p, вы можете просто выбросить этот клон, когда закончите тестирование.Объедините ветви, посмотрите, останутся ли они оба (я подозреваю, что они останутся, если вы явно не закроете одну из них, хотя какая ветвь, в которой вы находитесь, и какая вы объедините, даст противоположные результаты!) С изменениями, которые вы хотите.Вы всегда можете использовать «hg rollback», чтобы быстро отменить последнюю операцию и попробовать разные вещи.

...