これはおそらくばかげたことですが、周りを検索しても答えが見つかりませんでした。スクリプトをソースと一緒にバージョン管理できるように、gitプロジェクトのpre-commitフックを設定しようとしています。
シンボリックリンクがサポートされているようで、そのための方法があります。.gitディレクトリ内の何かでlnを実行しようとすると、「そのようなファイルまたはディレクトリはありません」というエラーが表示されます。.gitディレクトリの設定方法に何か奇妙なことがありますか?これは、適切な場合に備えて、現在Windowsのcygwinを介して行っています。
たとえば、シンボリックリンクの設定に使用しているスクリプトは次のようになります。
#/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
ありがとう、
====
フォローアップ:これはCygwinの問題のようですが、それを説明するドキュメントを見つけることができませんでした。これはLinuxとOSXで正常に機能します。Cygwinでは、暗黙的に隠されたフォルダー(プレフィックス付き)にシンボリックリンクを作成する際に問題が発生します。誰かがなぜ私がその説明を答えとして喜んでタグ付けするのか知っているなら。