Redmine で git リポジトリをブラウズ

ポスト trac と呼び声も高い(?) Redmine を使うことになったのでいろいろいじっている。

Subversion 以外の SCM も使えることが強みなのだが
リポジトリに git を指定しても正しく表示されなかった。
同じところでハマらないようにメモ。

環境は以下。


ハマりポイントは2つ

リポジトリの指定方法

リポジトリフルパスで指定する。
file:///path/to/.git/ ではなく
/path/to/.git/ と指定する。

ちなみに git:// でもうまくいかなかった。
何か勘違いしてるのかも…。

git バージョンは 1.5.3 以降

上記の方法でコミットログは表示されるようになったが
ファイルブラウザが見えない。
ログを見ると git ls-tree でコケてることがわかる。
原因は git 1.5.3 以降で追加された git ls-tree の -l オプションがないためであった。

apt-get では 1.5.2 が最新(2008.10.02 現在)なのでソースコードからビルドする。
せっかちな人のための git 入門 の通りに行った。


/usr/local/bin/git にインストールされるので
{REDMINE_ROOT}/lib/redmine/scm/adapters/git_adapter.rb の
GIT_BIN を "/usr/local/bin/git" に変更する。


これで git リポジトリも正しく表示されるようになる。

追記 (2008.10.13)

RedmineRepositories - Redmine
ここに書いてあった。
git のバージョンは 1.5.4.2 以降じゃないといけないらしい。
指定するリポジトリは bare かつ local でないといけないらしい。


なんか納得。