リポジトリにあるスクリプトを呼び出したい。
もちろん、次のことができます。
#!/bin/sh
../../myscript.sh
しかし、それは良くないと思います;)
コミット後のスクリプト内でプロジェクトのパスを取得するにはどうすればよいですか?
リポジトリにあるスクリプトを呼び出したい。
もちろん、次のことができます。
#!/bin/sh
../../myscript.sh
しかし、それは良くないと思います;)
コミット後のスクリプト内でプロジェクトのパスを取得するにはどうすればよいですか?
裸でないリポジトリを扱っている場合、post-commit
1フックはリポジトリの作業ツリーの現在の作業ディレクトリで実行されます。したがって、必要はありません../../
。
スクリプトの完全なパスが必要な場合は、いつでも次のようにできます。
SCRIPT=$(readlink -nf myscript.sh)
git rev-parse --show-toplevel
...または、作業ディレクトリへの絶対パスを取得するために使用できます。
SCRIPT=$(git rev-parse --show-toplevel)/myscript.sh
1 ...しかし、これは他のいくつかのフックには当てはまらないことに注意してください。たとえば、post-receive
ベアリポジトリ以外のフックでは、現在の作業ディレクトリは.git
ディレクトリです。