Wahrscheinlich ist das eine dumme Frage, aber ich habe die Antwort nicht gefunden. Ich versuche, Pre-Commit-Hooks für mein Git-Projekt so einzurichten, dass die Skripte zusammen mit dem Quellcode versioniert werden können.
Es schien, als ob Symlinks unterstützt werden und der richtige Weg für diese Aufgabe sind. Wenn ich versuche, ln mit irgendetwas im .git-Verzeichnis zu verbinden, erhalte ich die Fehlermeldung "No such file or directory". Gibt es etwas Seltsames an der Art und Weise, wie das .git-Verzeichnis eingerichtet ist? Ich mache das gerade über cygwin unter Windows, falls das relevant ist.
Das Skript, das ich zum Einrichten der Symlinks verwende, sieht zum Beispiel so aus:
#/bin/bash
HOOK_NAMES="pre-commit post-commit"
THIS_SCRIPT_DIR=$(dirname $0)
HOOK_DIR=$THIS_SCRIPT_DIR/../.git/hooks
for hook in $HOOK_NAMES; do
ln -s -f $THIS_SCRIPT_DIR/git-hooks/$hook $HOOK_DIR/$hook
done
Gracias,
\====
Nachbereitung: Dies scheint ein Problem mit Cygwin zu sein, obwohl ich keine Dokumentation finden konnte, die dies erklärt. Unter Linux und OS X funktioniert es einwandfrei. Cygwin hat Probleme beim Erstellen von Symlinks in einem implizit versteckten Ordner (. vorangestellt). Wenn jemand weiß, warum, werde ich diese Erklärung gerne als Antwort einfügen.