Как совместить два проекта в Mercurial? - PullRequest
84 голосов
/ 16 августа 2008

У меня есть два отдельных ртутных хранилища. На этом этапе имеет смысл, что они «становятся одним», потому что я хочу работать над двумя проектами одновременно.

Мне бы очень хотелось, чтобы оба проекта были подкаталогом в новом хранилище.

  1. Как объединить два проекта?
  2. Это хорошая идея, или я должен держать их отдельно?

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

Ответы [ 3 ]

69 голосов
/ 21 августа 2008

Мне удалось объединить два репозитория следующим образом:

  1. Используйте hg clone first_repository для клонирования одного из хранилищ.
  2. Используйте hg pull -f other_repository для извлечения кода из другого хранилища.

Флажок -f (force) на извлечении является ключом - он говорит, что следует игнорировать тот факт, что два хранилища не из одного источника.

Вот документы для этой функции.

7 голосов
/ 16 сентября 2010

рт.ст. начал иметь подпункт с 1.3 (2009-07-01). Ранние версии были неполными и шаткими, но теперь они довольно полезны.

3 голосов
/ 20 августа 2008

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

О вашем редактировании: Перемещение из одного хранилища в другое. Вы всегда можете использовать команду transplant. Хотя все это на самом деле побуждает ваше желание объединить оба, так что вы можете чувствовать себя неловко, используя мои предложения. Тогда вы можете использовать расширение леса, или что-то.

hg transplant -s REPOSITORY lower_rev:high_rev
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...