Я уже некоторое время занимаюсь этим, и я не могу заставить его работать.Как настроить меркуриальные крючки в Kallithea
Согласно Киллитеа документации:
To add another custom hook simply fill in the first textbox with <name>.<hook_type> and the second with the hook path. Example hooks can be found in kallithea.lib.hooks.
Так что моя первая попытка была, чтобы добавить новый метод hooks.py. В основном, чтобы проверить крючок, я хочу, чтобы ВСЕ не нажимал на репо. Так что я буду использовать pretxnchangegroup и вернуть ноны 0 нон ложного значения в Mercurial документация говорится
A hook that executes successfully must exit with a status of zero if external, or return boolean “false” if in-process. Failure is indicated with a non-zero exit status from an external hook, or an in-process hook returning boolean “true”. If an in-process hook raises an exception, the hook is considered to have failed.
Так что я сделал это:
def myhook(ui, repo, **kwargs): return True
И я добавил крюк в GUI в Каллифеях варианты крюка:
pretxnchangegroup <=> python:kallithea.lib.hooks.myhook
Это Howeve г не удалось, потому что по какой-то причине метод не может быть найден
abort: pretxnchangegroup hook is invalid ("kallithea.lib.hooks.myhook" is not defined)
Так что я попытался положить его в другой файл (в той же папке «Lib», где hooks.py есть). Создал файл с именем canpush.py и добавил туда тот же метод. Я изменил путь крюк, чтобы предназначаться новое имя файла:
pretxnchangegroup <=> python:kallithea.lib.hooks.myhook
Однако крючок не вызывает, и я могу нажать на мой репозиторий без проблем. Я планирую изменить реальную реализацию крюка в будущем, нажатие будет разрешено, но сначала мне нужно получить какой-либо функциональный крючок с Kallithea.
Что я здесь делаю неправильно?
Кроме того, если кто-то знает, как использовать настройки hgrc из отдельного репо в пределах Kallithea, пример будет замечательным. Оригинальный вопрос here.