Как многократно объединять ветки в Mercurial - PullRequest
11 голосов
/ 08 сентября 2008

Мы используем Mercurial там, где я работаю, и я хочу, чтобы у меня была установка, подобная той, что я использовал SVN:

  • Магистральные
  • Метки
    • Производство
  • Филиалы

Поскольку Mercurial изначально поддерживает ветки, я знаю, как создать именованную ветку, но я не могу найти никакой документации о том, как многократно объединять 'Trunk' с 'Production'.

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

Ответы [ 2 ]

19 голосов
/ 08 сентября 2008

Как упоминалось в предыдущем постере, удлинитель для трансплантации можно использовать для сбора отдельных изменений вишни с одной ветви на другую. Однако, если вы всегда хотите получить все последние изменения, команда hg merge доставит вас туда.

Самый простой случай - это когда вы используете клоны для реализации ветвления (так как в этом случае используется Mercurial). Предполагая, что вы включили встроенное расширение fetch в вашем .hgrc / Mercurial.ini:

cd ~/src/development
# hack hack hack
hg commit -m "Made some changes"
cd ../production
hg fetch ../development

Если вы используете локальные филиалы:

hg update -C development
# hack hack hack
hg commit -m "Made some changes"
hg update -C production
hg merge development
hg commit -m "Merged from development"
3 голосов
/ 08 сентября 2008

Что-то вроде hg transplant? Это то, что мы используем в наших ветках dev и prod.

...