Hooks

Git bietet mehrere Hook-Punkte an, Stellen im Ablauf von Gits Datenverarbeitung in denen automatisch benutzerdefinierte Skripte ausgeführt werden können. Da diese prinzipiell beliebigen Code ausführen können, werden diese Hooks nicht als Teil des Repositories mitgecloned, sondern müssen immer manuell eingerichtet werden.

In der iMan3-Entwicklung benutzen wir Hooks für zwei Zwecke:

  • Die Hooks entpacken iMan3-Studio-Projektdateien und lassen sie von xmllint formatieren. So werden Diffs zwischen den einzelnen Workflow-Versionen möglich.
  • Zusätzlich wird profile.json sortiert und formatiert. Auch das dient dafür, dass Änderungen leichter sichtbar sind.

Hooks sind einfach nur Skripte, die vordefinierte Namen tragen müssen und ausführbar sind, welche im Verzeichnis .git/hooks liegen. Über die Shebang-Zeile wird der Interpreter definiert, die Ausführung übernimmt Git.

Immer wenn ein iMan3-Projekt auf einem Entwicklungssystem gecloned wird, müssen die Hooks installiert werden!