Как объединить два проекта в Mercurial?
-
08-06-2019 - |
Вопрос
У меня есть два отдельных хранилища ртути.На данный момент имеет смысл, чтобы они «стали одним целым», потому что я хочу работать над двумя проектами одновременно.
Мне бы очень хотелось, чтобы каждый из двух проектов был подкаталогом в новом репозитории.
- Как объединить два проекта?
- Это хорошая идея, или я должен держать их отдельными?
Кажется, я должен иметь возможность перемещаться из одного репозитория в другой...Может быть, это действительно прямолинейно?
Решение
Мне удалось объединить два моих репозитория следующим образом:
- Использовать
hg clone first_repository
клонировать один из репозиториев. - Использовать
hg pull -f other_repository
чтобы извлечь код из другого репозитория.
А -f
Ключевым моментом является флаг (force) при извлечении — он говорит, что нужно игнорировать тот факт, что два репозитория не имеют одного и того же источника.
Вот документы для этой функции.
Другие советы
у меня началось хг субрепо начиная с версии 1.3 (01.07.2009).Ранние версии были неполными и шаткими, но теперь их вполне можно использовать.
Если вы не используете один и тот же код в проектах, храните их отдельно.Вы можете установить твой личный репозиторий каждого из этих проектов должен быть просто отдельным каталогом.Зачем смешивать все ветки, слияния и коммитить комментарии, когда в этом нет необходимости.
О вашем редактировании: Перемещение из одного репозитория в другой.Вы всегда можете воспользоваться transplant
команда.Хотя, все это на самом деле обходит вас стороной желание объединить эти два понятия, чтобы вам было неудобно пользоваться моими предложениями.Тогда вы можете использовать расширение леса или что-то в этом роде.
hg transplant -s REPOSITORY lower_rev:high_rev