Действительно ли возможно создать подвижный репозиторий в существующем подвижном репозитории?
Идея состоит в том, чтобы обработать подкаталоги репозитория как различные репозитории, как дела это?
Я не говорю о subrepos (по крайней мере, если я понял цель subrepos...), но если это - то, как subrepos действительно существуют для, я понял его превратно, и я попытаюсь разобраться в нем :)
Спасибо ~Aki
Править: Чтобы быть более ясным, я хотел бы знать то, что происходит, методы и последствия наличия репозитория в другом, не указывая modules/subrepos. Другими словами: что происходит, если я просто делаю:
hg init globalRepo
hg init globalRepo/subRepo
и используйте эти два репозитория, как-?
Это хорошо работает. Задолго до того, как в Mercurial 1.3 была добавлена поддержка субрепо, многие люди хранили все свои домашние каталоги в ртутном репозитории для отслеживания своих файлов .bashrc
и т.п. Тогда в их домашнем каталоге будет много клонов других репозиториев.
Каждый раз, когда вы вызываете mercurial (без параметра -R
), он ищет в текущем каталоге каталог .hg
, а затем просто продолжает переходить по каталогам, пока не найдет его. Поэтому, если вы находитесь в репо, которое находится в репо, ваши команды всегда будут действовать на самом внутреннем репо, в котором вы находитесь.
Предостережение заключается в том, что вы хотите убедиться, что не добавлены файлы во внешнее репо, которое попадают во внутреннее репо. Тогда у вас будет два репозитория, обновляющих одни и те же файлы.
Как вы можете видеть в этом вопросе SO, вы можете сделать такой вид вложенного hg init
, хотя обычно это зарезервировано для определения subRepo (что не то, что вам нужно).
Обычно это должно работать как два независимых репо, но я бы посоветовал добавить правило hgignore
в globalRepo
, чтобы полностью игнорировать содержимое subRepo
.