Подвижный 'hg клонируются', но игнорирующий весь subrepos?

Существует ли способ клонировать repo, который идет с subrepos, но не имея Подвижного получения по запросу весь subrepos?

Это появляется это в то время как hg clone -U может использоваться для получения пустого клона repo, нет ничего, что убедило бы hg update постараться не начинаться путем получения по запросу всех subrepos.

Я должен указать, что крайне важно сохранить способность легко синхронизировать к главному пересмотру после создания такого клона.

22
задан Roman Starkov 8 August 2010 в 23:51
поделиться

2 ответа

Нашел хитрый способ. Он по-прежнему требует, чтобы все подрепозитории были проверены один раз, но после этого их можно удалить.

  1. Клонировать всю партию, включая субрепозитории. Нет способа обойти это.
  2. Удалить субрепо
  3. hg remove .hgsub

Я пытался убедить Mercurial hg remove .hgsub перед клонированием субрепо, но лучшее, что я получил, это не удалять .hgsub: файл не отслеживается.

5
ответ дан 29 November 2019 в 05:21
поделиться

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

Вы не можете обновить свое репо, не получив подрепо; если у вас был полный рабочий каталог без них, вам не следует использовать подрепо - вместо этого используйте действительно внешние репозитории.

Если ваши подрепо привязаны к определенной удаленной версии, то обновления после первого не будут запускать обновление подрепо - они уже актуальны. Но для первоначального создания рабочего каталога вам нужно будет выполнить удаленное извлечение.

Вы можете обмануть Mercurial, изменив файл hgsubstate . Но на самом деле ваша модель и концептуальная модель различаются, поэтому вы, вероятно, не подходите для подрепо, если это вызывает беспокойство.

править: Если вы обнаружите, что клонируете, а затем обновляете подсказку много раз, попробуйте вместо этого использовать локальные ветки или mq . Таким образом, вам нужно сделать первоначальный клон только один раз.

3
ответ дан 29 November 2019 в 05:21
поделиться
Другие вопросы по тегам:

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