Перекрестное слияние в Mercurial? - PullRequest
2 голосов
/ 05 марта 2010

Я рассматриваю переход с SVN на Hg, и в настоящее время у меня есть типичная схема SVN для проекта Foo:

Foo
  trunk
  branches
    1.0
    1.1

Я могу импортировать эту структуру в Hg с помощью команды hg import, создав отдельный репозиторий для ствола и двух ветвей (используя переключатель импорта --config convert.hg.clonebranches=1).

Теперь, если клиент обнаружит ошибку в v1.0 Foo, как я могу применить это исправление к 1.1 и транковым репозиториям? Это отдельные копии старых веток SVN, поэтому hg merge не сработает, не так ли?

Если бы я начинал новый проект с нуля в Hg, я мог бы использовать теги для разных выпусков и легко объединять изменения из одного тега в другой, но у меня нет такой роскоши при импорте из SVN ... или Я что-то пропустил?

Ответы [ 2 ]

1 голос
/ 05 марта 2010

Вы должны иметь возможность использовать обычное объединение push / pull для получения изменений вперед и назад. Convert достаточно умен, чтобы части 1.0 и 1.1, которые идентичны, были одинаковыми наборами изменений. Так что внесите изменения в 1.0, и вы сможете вытащить его в 1.1 и main и объединить аккуратно.

Если вы думаете, что перейдете с 1.1 и перейдете от основного к 1.0, просто hg update до набора изменений, который, как вам известно, находится в 1.0 до внесения изменений, и вы сможете безошибочно вытащить и объединить это в 1.0 тоже.

1 голос
/ 05 марта 2010

Мне нравится hg transplant ( домашняя страница расширения трансплантата ): для этого потребуется коммит и его перемещение куда-нибудь. Опция -s позволит вам переместить его из одного репо в другое.

Вы также можете указать слияние, которое должно произойти, и отдельные ревизии, несколько ревизий или сделать так, чтобы он запускал «интерактивный селектор изменений» (что бы это ни значило). (Хотя я не пробовал вариант слияния между репозиториями ... но я знаю, что указание набора изменений работает просто замечательно!)

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