Как автоматически держать удаленный ртутный репозиторий на кончике после нажатия - PullRequest
0 голосов
/ 04 сентября 2018

Я создал ртутный репозиторий на некоторых общих файловых серверах.

Возможно ли автоматическое обновление удаленного репозитория до tip, если кто-то отправит его изменения?

Потому что некоторые другие люди (чисто пользователи) могут копировать содержимое репозиториев (а не клонировать из-за отсутствия .hg), и я хочу, чтобы они получили самую новую версию.

Поскольку это общий ресурс на простом NAS, было бы хорошо, если бы принудительный клиент мог вызвать это обновление.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Кажется, что ловушка changegroup может решить эту проблему.

Добавьте следующие строки в файл конфигурации хранилища (repo / .hg / hgrc)

[hooks]
changegroup = hg update

Это решение было предложено по немного другому вопросу: Клонирование Mercurial Repo на удаленный хост

По крайней мере, в Windows это работает только в локальных репозиториях. Причина этого заключается в том, что hg пытается запустить cmd на удаленном пути, который завершается ошибкой, поскольку он не поддерживает пути UNC в качестве текущей директории.

Явное добавление URL хранилища исправляет это, но больше не зависит от клиента.

[hooks]
changegroup = hg update -R %HG_URL%
0 голосов
/ 05 сентября 2018

Вы можете рассматривать серверное хранилище как свой «локальный рабочий каталог», а затем ВЫБРАТЬ с вашего ПК в это место. Если вы используете hg pull --update, он автоматически обновит рабочую папку до последней версии.

Один из способов сделать это - войти на свой NAS и физически запустить там программу командной строки hg. Если нет, вы также можете смонтировать папку NAS на вашем локальном ПК, а затем выполнить команду chdir в сопоставленную локальную папку и использовать для этого локальный клиент hg.

Это может показаться странным, но Mercurial не волнует, какой это «клон», а какой «сервер», вы можете поменять их местами в рабочем процессе.

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