gitolite を試す

gitolite のがgitosis より簡単らしい.
branch とかへのアクセス制限もできるようだ(2010/12/30 追記)
Personal なブランチの名前空間をサポートもしてるようだ(2010/12/30 追記)

git$ mkdir -p $HOME/gitolite/bin $HOME/gitolite/conf $HOME/gitolite/hooks
git$ cd modules
git$ git clone git://github.com/sitaramc/gitolite gitolite-source
git$ cd gitolite-source
git$ src/gl-system-install $HOME/gitolite/bin $HOME/gitolite/conf $HOME/gitolite/hooks
git$ cd $HOME
git$ export PATH=$HOME/gitolite/bin:$PATH
git$ gl-setup $HOME/.ssh/clairvy.pub
git$ vi .bashrc
<$HOME/gitolite/bin をPATH に追加>

PATH の件を追記 (2011/01/05 追記)

これで,アクセスできるようになるみたい.

試す

$ ssh git@remote-host.domain
PTY allocation request failed on channel 0
hello clairvy, the gitolite version here is v1.5.8-1
the gitolite config gives you the following access:
     R   W      gitolite-admin
    @R_ @W_     testing
Connection to localhost closed.
$ git clone git@remote-host.domain:gitolite-admin.git

gitosis と同じように,管理はgitolite-admin リポジトリを触るみたい.
あと,conf を書くと空repository を作ってくれるみたい.
これは来年試そう.*1

ご参考

ということで追記.(2010/12/30)

gitolite/gitosis 共に .ssh/authorized_keys にログインユーザ設定をすると考えればいいみたい.
ssh git@rmote-host.domain したときに,コマンドが動く設定をしてるのかな?
なので,それを無効にしたかったら,その辺をなんとかすればいい.*2

あと,各リポジトリの hooks は,絶対パスシンボリックリンクされるので,
$HOME/gitolite/hooks 的な場所に位置が変更になったらその辺に注意.
なんかこう.$HOME/gitolite 配下で色々クローズする方が移動できて楽かもしれないけど,
$HOME/.gitolite.rc で $HOME/repositories の位置を制御したりすればできるのかな?
あと,多分 $HOME/.gitolite/{keydir,conf} が現在の設定なので,その辺を直接イジることもできる.
普通はプッシュするだろうけど,設定ミスったときとかに.*3

*1:$HOME/gitolite/bin にパスが通っていないと new repo を作ってくれないよう.パスさえ通せば自動的に作ってくれる

*2:gitosis と gitolite で同じユーザでやってたので,ここでハマった

*3:というかミスりました