Слияние из родительской ветки, hg входящий путь / в / baseline, как мне просто слить? - PullRequest
0 голосов
/ 03 марта 2012

Я в своей ветке, и я делаю это:

hg incoming /path/to/baseline

И я получаю несколько наборов изменений в выводе.

Теперь я просто объединяюсь, чтобы вытянуть наборы измененийв мою ветку?

hg merge /path/to/baseline

Будет ли моя история показывать то, что было объединено?Пока я не трогал эти файлы, это будет автоматически, верно?

1 Ответ

2 голосов
/ 03 марта 2012

Вы действительно должны попробовать все это сами! Сделайте пару тестовых репозиториев:

hg init main
hg clone main clone

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

Если бы вы запустили тесты, вы бы увидели, что

  1. Вы не можете дать hg merge имя пути (или URL) в качестве аргумента. В качестве единственного аргумента используется ревизия . Вам необходимо hg pull /path/to/baseline скопировать наборы изменений в локальный репозиторий, а затем hg merge.

  2. История действительно покажет, что было объединено. Слияние становится коммитом слияния в Mercurial. Это набор изменений с двумя наборами изменений предков - обе линии разработки, ведущие к объединению, все еще находятся в хранилище.

  3. Слияния происходят без конфликтов («автоматически»), если изменения, сделанные в двух ветвях, не перекрываются. Если вы редактируете разные файлы в двух ветвях, то, конечно, перекрытия нет. Но вы также можете редактировать разные регионы в одном и том же файле и объединять их без конфликтов.

Существует прекрасное руководство по вики , и я также написал руководство для начинающих . Надеюсь, это поможет.

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