Gitのフックスクリプトが実行されてないかも?というとき
色々原因はあると思いますが、その中の一つではまったものを紹介します。
それは
exec git update-server-info
です。
これがあるとその行以降のコマンドは実行されません。
まず最初に結論から
どうすれば良いか。 exec を消して
git update-server-info
とします。
※ http(s) ごしでリポジトリにアクセスしない場合は消してしまっても良いです。
ちょっと説明
gitのbareリポジトリ作ったばっかりの状態のhookscriptでは
post-update.sample
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
exec git update-server-info
みたいな感じでなってる。
たとえば何かを編集したときに、
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
exec git update-server-info
echo 'hogehoge'
みたいな感じで書いちゃうと、
echo 'hogehoge'
の部分が実行されません。 それは
exec git update-server-info
があるからです。
exec コマンドとは
execに指定したコマンドを実行する。このコマンドを実行する際に、新しいプロセスを作成せずに、現在のジョブと置き換えて実行される。
というものです。
ですので、
exec git update-server-info
の時点で終わってしまい、
echo 'hogehoge'
が実行されないのです。
お気をつけください。