January 25, 2013

PHP製のGitビュアー、"GitList 0.3"をちょっと直して使ってみた

先日、GitLab 4.1にパブリックモードが搭載されましたが、まだcloneだけでブラウザからの閲覧は出来ないようです。RhodeCodeとかだと出来るのかもしれませんが、とりあえず、認証なしで閲覧可能なビュアーを探してみました。

そこで見つけたのがGitListです。

PHP製なので、インストール/アンインストールも楽そうだし、試してみました。DBも不要です。Silexというフレームワークで実装されているそうです。

以下の"Requirements"を満たした環境で、Composerを使ったインストール手順を書いておきます。
(やっていることは、"Installing"と"Building"とほとんど同じです。)

適切な場所でgit cloneします。
$ git clone https://github.com/klaussilveira/gitlist.git .
cacheディレクトリを777に変更します。(もしかしたら不要かも。とりあえず記載の通りに。。。)
$ chmod 777 cache
composer.pharをインストールして実行します。
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar install
config.ini-exampleをconfig.iniとしてコピーして編集します。
$ cp config.ini-example config.ini
$ vim config.ini
* "client"は、gitコマンドのパスです。
* "repositories"は、レポジトリを保存しているディレクトリです。
* hidden[]は、非表示にしたいレポジトリです。以下の形式で、複数指定が出来ました。
hidden[] = '/xxx/yyy'
hidden[] = '/zzz/aaa'
* その他の設定は未確認です。

index.phpが有る場所にブラウザからアクセスして、レポジトリ一覧が表示されればインストールはOKです。ただ、適当なレポジトリを選択してディレクトリを二つ進めると、以下のエラーが出ました。
Oops! fatal: Not a valid object name ...

で、forkして応急処置したのが
https://github.com/mp-php/gitlist/commit/49c7bb2ab09d24fb9cdc7c1674e871bcb04cfe64
になります。ブランチは"develop"です。
(やっつけなので、PR送れる内容では有りませんが。。。)

GitListは、まだv0.3なので、細かなバグは残っていそうですが、とりあえずこれで使えそうです。把握しているその他の問題として、どのディレクトリにいても、必ずトップ階層のREADMEが表示されてしまいます。(クリティカルでは無いので放置しています。。。)

ファイル内の文字列検索も出来ますし、ビュアーとしては良い方向性な印象です。

尚、最初、gitレポジトリのパーミッションで弾かれて、閲覧出来ませんでした。ビュアーの都合で大元のレポジトリのパーミッションを緩めるのはアレなので、定時にて適当な場所に複製、パーミッションを緩めて、そちらを閲覧するようにしました。なので、最新性は無くなりますが、まあ、とりあえず良いかなということで、使っていってみようと思います。

No comments:

Post a Comment