Как добавить subrepo в существующий репозиторий в mercurial
какой лучший/простой способ (или даже возможно), чтобы добавить существующий репозиторий на другой существующий репозиторий как subrepo?
ситуация у меня есть существующий (основной) проект, где я хочу включить проект библиотеки, чтобы я мог редактировать проект библиотеки из основного проекта и фиксировать изменения в проект библиотеки при переходе к основному проекту.
также: мне нужно клонировать/нажимать / тянуть к исходному проекту библиотеки, или это сделано автоматически при фиксации в основном проекте?
в отношении
Йеспер Хауге!--1-->
4 ответов
документация subrepo настолько смутила меня, что я написал сценарий оболочки, чтобы абстрагировать эту часть.
называй это как
$ cd $TOP_OF_HG_PROJECT
$ addsubrepo.sh $URL_TO_HG_PROJECT relative_path/you/want_to/put_the_subrepo
чтение документов, плагин subrepo поддерживает эту функциональность.
Я еще не использовал его, но, вероятно, начнет использовать его в ближайшем будущем.
Он улучшается каждый выпуск Mercurial, и я считаю, что люди успешно используют его. Кажется, он получил разумное количество внимания и был на повестке дня для последнего блица кодирования.
по словам помогите, pull, push, commit и т. д. Также должны действовать на subrepo. Это звучит как фиксация будет проверять, есть ли какие-либо изменения в subrepo. Если они есть, они будут зафиксированы, и новый набор изменений в subrepo будет записан в .файл hgsubstate. Затем этот файл, а также изменения в основном РЕПО будут зафиксированы.
когда вы клонируете, Mercurial должен увидеть .hgsubstate, а также .hgsub файл, и правильно вытащить вложенный запрос, и обновить до правильной редакции.
вот как я это сделал:
$ cd /projects/main_project
$ hg clone /projects/plugins/awesome plugins/awesome_plugin
$ echo plugins/awesome_plugin = plugins/awesome_plugin > .hgsub
$ hg add .hgsub
$ hg commit -m "added awesome_plugin plugin as a subp-repo"