Как узнать, откуда вызывается файл ловушек Mercurial? - PullRequest
1 голос
/ 07 октября 2019

В проекте, над которым я работаю, есть стандартный хук pre-commit для Mercurial, который выглядит примерно так:

python:hookhgext.messagevalidation.checkCommitMessage

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

Как мне найти местоположение этого файла или также вызвать этот ловушку из скрипта python?

1 Ответ

1 голос
/ 07 октября 2019

В соответствии с документами

Значение хука должно начинаться с текста «python:» и продолжаться полным именем вызываемого объекта для использования. как ценность крючка. … Пока у вас есть имя модуля и право PYTHONPATH, он должен «просто работать»

Т.е. в вашем случае Mercurial импортирует hookhgext.messagevalidation (из любого возможного для места импорта) и вызывать checkCommitMessageиз него.

Я ничего не знаю о Python, но для меня hookhgext.messagevalidation - это «проверка сообщений» что-то внутри «hookhgext.py», а «hookhgext» - этообычный установленный python-модуль в его (установленных модулях) местах по умолчанию

...