Каков лучший/самый легкий путь (или это даже возможно) добавить существующий репозиторий к другому существующему репозиторию как subrepo?
Ситуация, у меня есть существующий (основной) проект, где я хочу включать проект библиотеки так, чтобы я мог отредактировать проект библиотеки из основного проекта, и передавать изменения в проекте библиотеки при фиксации основного проекта.
Также: я должен клонироваться/продвинуть/вытянуть к исходному проекту библиотеки, или это сделано автоматически при фиксации в основном проекте?
Отношения
Jesper Hauge
Документация вспомогательного репозитория настолько меня смутила, что я написал сценарий оболочки, чтобы абстрагироваться от этой части.
Назовите это как
$ cd $TOP_OF_HG_PROJECT
$ addsubrepo.sh $URL_TO_HG_PROJECT relative_path/you/want_to/put_the_subrepo
Читая документацию, плагин вложенного репо поддерживает эту функцию.
Я еще не использовал его, но, вероятно, начну использовать его в ближайшем будущем.
Он улучшается с каждым выпуском Mercurial, и я считаю, что люди успешно его используют. Кажется, он привлек достаточно внимания и был в повестке дня последнего блица кодирования.
Согласно справке , pull, push, commit и т. Д. Должны действовать и на субрепо. Похоже, коммит проверит, есть ли какие-либо изменения в субрепо. Если есть, они будут зафиксированы, а новый набор изменений в субрепо будет записан в файл .hgsubstate. Этот файл, а также изменения в основном репо будут зафиксированы.
Когда вы клонируете, Mercurial должен увидеть .hgsubstate, а также файл .hgsub, правильно извлечь вложенное репо и обновить его до правильной ревизии.