Как объединить два проекта в Mercurial?
У меня есть два отдельных меркуриальных репозитория. На данный момент имеет смысл, что они "становятся едиными", потому что я хочу работать над двумя проектами одновременно.
Мне бы очень хотелось, чтобы каждый из двух проектов был подкаталогом в новом репозитории.
- Как объединить два проекта?
- Это хорошая идея, или я должен
сохранить их отдельно?
Кажется, я должен быть в состоянии проталкивать из одного репозитория в другой... Может быть, это действительно прямо?
Ответы
Ответ 1
Я смог объединить два своих репозитория таким образом:
- Используйте
hg clone first_repository
для клонирования одного из репозиториев.
- Используйте
hg pull -f other_repository
, чтобы вывести код из другого репозитория.
Флаг -f
(force) при pull - это ключ - он говорит, чтобы игнорировать тот факт, что два репозитория не из одного источника.
Здесь документы для этой функции.
Ответ 2
hg начал subrepo начиная с версии 1.3 (2009-07-01). Ранние версии были неполными и шаткими, но теперь они довольно полезны.
Ответ 3
Если вы не используете один и тот же код в проектах, держите их отдельно. Вы можете настроить свой личный репозиторий каждого из этих проектов как отдельный каталог. Зачем смешивать все ветки, слияния и комментировать комментарии, когда вам это не нужно.
О вашем редактировании: Нажатие из одного репозитория в другой. Вы всегда можете использовать команду transplant
. Хотя, все это действительно боковое, набирающее ваше желание объединить эти два, так что вы можете чувствовать себя некомфортно, используя мои предложения. Затем вы можете использовать расширение леса или что-то в этом роде.
hg transplant -s REPOSITORY lower_rev:high_rev