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