私はしばらくそれをしてきましたが、私はそれを働かせることはできません。カリテアのドキュメントを1としてカリテアの水銀のフックを設定する方法
:
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する新しい方法を追加しました。基本的にはフックをテストするために、私はレポにすべてのプッシュを防止したい。
def myhook(ui, repo, **kwargs): return True
そして、私はカリテアにGUIにフックを追加しました: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.
を述べたように、私は、だから私はこれをしなかったpretxnchangegroupを使用し、非0以外の値falseを返しますフックオプション:
pretxnchangegroup <=> python:kallithea.lib.hooks.myhook
このhoweve rは方法はだから私は(hooks.pyは同じ「LIB」フォルダに)別のファイルでそれを入れてみました
abort: pretxnchangegroup hook is invalid ("kallithea.lib.hooks.myhook" is not defined)
を見つけることができない何らかの理由で失敗したため。 canpush.pyという名前のファイルを作成し、そこに同じメソッドを追加しました。フックは誘発しない、と私は問題もなく私のレポにプッシュすることができますしかし
pretxnchangegroup <=> python:kallithea.lib.hooks.myhook
:私は、新しいファイル名を対象にフックパスを変更しました。私は将来の実際のフックの実装を変更する予定ですが、プッシュは許可されますが、最初に私はKallitheaで機能するフックを取得する必要があります。
私はここで間違っていますか?
また、誰かがKallithea内の個々のリポジトリからhgrc設定を使用する方法を知っていれば、その例は素晴らしいでしょう。元の質問here。