Один Подвижный репозиторий может жить в другом Подвижном репозитории?

Может один hg repo живой в другом hg repo в моей локальной файловой системе?

screenshot of one repo inside another

Я раскрываю битоприемник Wiki для 'песочницы', и я хочу знать, должно ли это быть помещено в repos/sandbox/wiki или repos/sandbox-wiki.

Первый должен хорошо сделать?

Править: Посмотрите подрепозиторий.

8
задан Vadim Kotov 16 June 2017 в 14:14
поделиться

4 ответа

Да и нет. Зависит от того, чем вы хотите заниматься. Вы можете создать репозиторий «песочница / вики», но файлы во внутренних репозиториях не будут фиксироваться во внешнем репозитории «песочница» (@Jason прав). Если не хочешь, не беда.

Попробуйте явно добавить файлы из репозиториев вики в песочнице, и вы получите сообщение ниже. Если вы просто добавите путь к некоторому каталогу, содержащему внутреннее репо, файлы будут проигнорированы.

Из директории корня Sandox:

   hg add wiki/myfile
   abort: path 'wiki/myfile' is inside repo 'wiki'
5
ответ дан 5 December 2019 в 14:00
поделиться

Короткий ответ - да, но я не могу представить, зачем вам это нужно.

В вашем примере, я думаю, вам следует использовать:

repos/sandbox-wiki

[править] Дополнительно:

Yo Dowg, I herd you like repositories.

So we put a repo in your repo so you can version while you version

: -)

7
ответ дан 5 December 2019 в 14:00
поделиться

Вам нужно создать файл .hgignore в песочнице, чтобы исключить вики, потому что mercurial предполагает, что он отвечает за всех потомков. Это, вероятно, вызовет у пользователей больше путаницы, чем того стоит.

-1
ответ дан 5 December 2019 в 14:00
поделиться

Mercurial не разрешает использование вложенных репозиториев, но для этого есть по крайней мере одна причина:

Представьте, что вы работаете в проекте: / MyProject. В эту папку вы помещаете все: код, документацию, тесты и т. Д.

Вы хотите сделать резервную копию своей работы, потому что это очень важно, поэтому вы создаете репозиторий для / MyProject. Затем вы сверхурочно используете пакеты для сохранения эволюции / MyProject и резервного копирования их на флэш-память USB, чтобы вы могли восстановить все на случай, если ваш жесткий диск сломается.

Помните, что / MyProject содержит все. И среди всего этого есть основной код и несколько вспомогательных проектов. Вы также хотите отслеживать прогресс вспомогательного проекта, который находится в / MyProject / AUXProject, поэтому вы используете Mercurial для отслеживания его развития.

Кроме того, вы хотите иметь отдельный репозиторий для основного кода: / MyProject / Main

В этой ситуации вам нужны вложенные репозитории: один большой для возможности резервного копирования всего с помощью пакетов и дочерних репозиториев для управления каждый подпроект.

Я думаю, что Mercurial должен предоставить пользователю несколько вариантов при инициализации репозитория. Например: - игнорировать вложенные репозитории - включать вложенные репозитории, но игнорировать папки .Hg (т.е. действовать так, как если бы вложенных репозиториев не было, но не игнорировать информацию, содержащуюся во вложенных репозиториях).- включить вложенные репозитории, а также папки .Hg (имеет смысл для целей резервного копирования)

--------- Изменить: Подрепозитории - это функция, которая находится в стадии разработки: https://www.mercurial-scm.org/wiki/subrepos

Кроме того, существует расширение под названием «лес», которое в будущем может стать устаревшим: https://www.mercurial-scm.org/ForestExtension

1
ответ дан 5 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: