ちょろっと渡邉さんのエントリに補足を。
実用Git
吉藤 英明 (監訳)ちなみに、本には直接関係ありませんが、この本の翻訳もGitを使って進められました。
原稿はGitで管理しようと言う話は最初から訳者3人の間で出ていたのですが、原稿を管理するとなると当然read権限も含めたパーミッションの管理が必要でした。3人がgit-daemonを立ててお互いにpullしようかとも思ったのですが、git-daemonを使うと匿名で誰でも読めるリポジトリとなってしまいます。HTTP経由だとWEBサーバによってアクセスコントロールはできますが、速度に不安が残ります。ということでsshがベストなんでしょうが、gitのためだけに3人分のアカウントを作るのはちょっと気が引けました。
そこで、今回使ったのがgitosisです。gitosisについては入門gitにも入門Gitにも出ていますが、以下のような特徴があります。
これらは、gitのフックを使って巧みに実装されています。例えば、gitosis-adminリポジトリのkeys/USER.pub にファイルを入れてpushすると、これらの公開鍵がサーバ上のgitosisユーザの .ssh/authorized_keys に書き込まれるようなフックが動作します。このような原理で、サーバにアカウントを作らなくても(gitosisアカウントによって)gitリポジトリへアクセスできたり、サーバにログインしなくても(フック経由で)gitosisのアクセス権の設定を変更することができるようになっています。
gitのコマンドだけ覚えていればリポジトリやパーミッションの管理ができるというのは便利ですので、複数人で扱うgitのサーバを運用している方は、導入を検討してみてはいかがでしょうか? gitosisは git clone git://eagain.net/gitosis.git することで入手できます。
余談
実用Git のP216 の訳注は、実際に翻訳中に起こった事件ですw テンパってたとこを吉藤さんに助けて頂きましたm(_ _)m