Вдохновленный ответом Мартина, я подумал, что попытаюсь написать немного Python, и вот как мне удалось заставить его работать. Я использую Mercurial 2.0.2 и модуль mercurial.commands (который, AFAIK, включен в пакет Mercurial Python).
Я создал файл myhook.py на сервере:
import mercurial.commands
def update(ui, repo, **kwargs):
mercurial.commands.update(ui, repo)
Затем в моем файле .hg / hgrc на сервере я добавил следующее:
[hooks]
changegroup = python:C:\path\to\my\myhook.py:update
Я бы изменил строку, в которой выполняется команда, для конкретного обновления до «tip». Если вы используете именованные ветви, то, как указано выше, команда не будет иметь никакого эффекта. Я считаю, что это было бы лучше
command.update (пользовательский интерфейс, репо, репо ['tip'])