Posted on Wed May 07 21:56:11 +0900 2008 by nabeken
bare リポジトリにはファイルの実体は blog オブジェクトとして格納されています。若干使い辛いので、push時に外のワーキングコピーを共なったリポジトリを pull して、そこで実際の処理をさせたい。
そんなわけで、 post-receive に cd external-repo && git pull をしても、なぜか Not a git repository と言われ処理ができない。で、いろいろやっているうちに、envで環境変数を全部出したら、 GIT_DIR が指定されていまして、そいつが今回の犯人。これを unset するか、適切なものにして、 export してやれば解決。
export しておけば、 hook 経由で起動する Ruby script にも引き継がれるので楽かな。
…と思ったんだけど、 GIT_DIR では、 .git 以下を指定しないといけないので、いろいろ不具合がでる。したがって、 unset した。