Клонирование ртутного репо на удаленный хост - PullRequest
13 голосов
/ 07 мая 2009

Mercurial поддерживает push-style клонирование репозиториев на удаленные хосты, однако недавно клонированные репозитории не содержат рабочих копий. Есть ли какая-либо «скрытая» опция для обновления ртутного вызова на этих клонированных репозиториях?

Вот пример:

1) hg init hello

2) hg clone привет ssh: // somehost / hello

ssh: // somehost / hello содержит только каталог .hg, и мне нужно выполнить следующую команду в оболочке для заполнения рабочей копии:

3) ssh somehost 'cd hello && hg update'

Есть ли способ избежать шага 3)?

Ответы [ 3 ]

12 голосов
/ 08 мая 2009

Вы можете создать крючок на принимающей стороне. Добавьте следующий раздел в репозиторий / .hg / hgrc

[hooks]
changegroup = hg update

Это должно сделать это. Обратите внимание, что крючки не клонируются.

5 голосов
/ 07 мая 2009

Скрытой опции принудительного обновления удаленного хранилища нет. Только одно условие определяет, выполняется ли обновление (например, строка 239 hg.py в источнике Mercurial 1.0.1):

if dest_repo.local():

Если вы собираетесь поработать с рабочей копией, вы все равно войдете в систему, и в этот момент запустить «hg update» довольно легко, поэтому нет особой мотивации для ослабления текущего ограничения на удаленных клоны.

0 голосов
/ 15 сентября 2009

У меня та же проблема, и, к сожалению, не существует простого решения, чтобы избежать шага 3. mercurial не проверяет рабочую копию удаленно, как это делает «git clone», поэтому у вас всегда будет этот дополнительный шаг при развертывании html файлы в первый раз , например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...