2016-05-23 13 views
0

Ich bin schon seit einer Weile dabei und ich kann nicht scheinen, dass es funktioniert.Wie man Merkurhaken in Kallithea einrichtet

Per Kallithea Dokumentation:

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.

So war mein erster Versuch hooks.py eine neue Methode hinzuzufügen. Im Grunde um den Haken zu testen, möchte ich verhindern, dass ALLES zum Repo geschoben wird. Also werde ich pretxnchangegroup verwenden und nicht 0 nicht falsch Wert zurück als Mercurial Dokumentation wird

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.

Also tat ich dies:

def myhook(ui, repo, **kwargs): return True

Und ich hinzugefügt, um den Haken an der GUI in Kallithea Haken Optionen:

pretxnchangegroup <=> python:kallithea.lib.hooks.myhook

Diese howeve r ist fehlgeschlagen, weil aus irgendeinem Grunde kann das Verfahren nicht

abort: pretxnchangegroup hook is invalid ("kallithea.lib.hooks.myhook" is not defined)

Ich habe versucht, so findet sie in einer anderen Datei (in den gleichen ‚lib‘ Ordner, in dem hooks.py ist) setzen. Erstellt eine Datei namens canpush.py und fügte dort dieselbe Methode hinzu. Ich änderte den Hakenweg die neuen Dateinamen zum Ziel:

pretxnchangegroup <=> python:kallithea.lib.hooks.myhook

jedoch der Haken nicht auslöst, und ich kann ohne Probleme auf meinen Repo schieben. Ich plane, die tatsächliche Hook-Implementierung in der Zukunft zu ändern, Push wird erlaubt sein, aber zuerst muss ich irgendeinen Haken mit Kallithea funktional bekommen.

Was mache ich hier falsch?

Auch wenn jemand weiß, wie man hgrc Einstellungen von einzelnen Repo innerhalb Kallithea verwenden, wäre ein Beispiel groß. Ursprüngliche Frage here.

Antwort

0

Beantworten meiner eigenen Frage, aber nur um es als Referenz zu halten.

Es stellte sich heraus, dass das Setup in Ordnung war, aber in einem Akt der Verzweiflung beschloss ich, den Kallithea-Daemon neu zu starten (was nirgendwo in der Dokumentation stand), im Grunde dachte ich, was schiefgehen könnte - und das war der Trick!

ich während des Startvorgangs Dinge erraten bekommen kompiliert/zwischengespeichert und die Haken Definition Methoden gefunden werden und funktional (Wenn jemand eine bessere Erklärung, hat das, was kallithea Neustart geschieht auf Sie es bitte teilen)

So nackten im Auge , nach jeder Änderung an den Hooks-Dateien muss der Kallithea-Daemon neu gestartet werden, damit Hooks einen Effekt haben.

sudo service kallithea restart

Verwandte Themen