коммит-скрипт и, следовательно, каждый репозиторий может поддерживать свой собственный коммит-скрипт.

аюсь создать хук Mercurial, который запускается, когда коммиты помещаются в главный репозиторий. Я создал скрипт Python, как показано ниже:

# commit.py

from mercurial import ui, hg
from mercurial.i18n import gettext as _

def getV1ID(ui, repo, **kwargs):
    ui.write("The hook works!!!")
    v1id = ui.prompt('Enter the VersionOne ID')
    ui.write('VersionOne ID: '+v1id)

Для каждой ветви этоcommit.py дублируется, так как содержит механизмы, которые должны быть запущены, прежде чем код будет помещен в главный репозиторий. Толчок должен быть успешным, только если эти механизмы предварительного толчка пройдут. Пользователи могут изменить свой локальный commit.py так, чтобы они выполняли только подмножество этих предварительных операций в зависимости от проекта, над которым они работают, и каждый человек мог работать над несколькими проектами одновременно. И так,commit.py не может быть глобальным скриптом Python, который может находиться в.hg папка.

Чтобы сделать Mercurial запустить местныйcommit.pyВ свой файл mercurial.ini (в C: \ Users \ Имя пользователя \ mercurial.ini) я добавил следующее утверждение:

[hooks]
prechangegroup = python:./commit.py:getV1ID

Скрипт Python запускается, если я помещаю его внутрь.hg папка, но не когда я делаю это. Может ли кто-нибудь помочь мне пролить свет на этот вопрос? Большое спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос