Hulu製。GitリポジトリをWeb API化「RestfulGit」
RestfulGitはPython製のオープンソース・ソフトウェア(MIT License)です。
オープンソースのプログラマーにとってGitは欠かせないツールになりつつあります。そして純粋なGitコマンドの他にもGitリポジトリを操作できるライブラリが多数出てきています。今回はRESTfulにGitリポジトリを操作するRestfulGitを紹介します。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 14.44.48.1379165722.png)
サーバを立ち上げます。デフォルトで5000番ポートで立ち上がります。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 14.47.54.1379165725.png)
あるリポジトリにおけるコミットの一覧を取得しました。JSONでデータが返却されます。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 14.48.32.1379165730.png)
さらにあるコミットの変更一覧について。
RestfulGitでは現状RESTfulではなくGETについてサポートしているようです。コミット、Blob、ツリー、Refそして実際のRawファイルについて取得できます。Gitリポジトリにデータを保存し、その結果を取得するようなサービスを作るのに使えそうです。
MOONGIFTはこう見る
Gitはシンプルな仕組みなのですが、連携ライブラリがあまり充実していません。データの取得系はそれなりに増えていますが、データをコミットしたりマージしたりするとなると煩雑なやり方になってしまいます。GitHubなどはその辺りを非常にうまく作り込んでいるように見えます。
RestfulGitはJSONで取得できますのでWebブラウザからGitリポジトリを操作してデータを表示すると言ったサービスを作る際には使えそうです。データのアップデートについては通常のGitリポジトリから行うのが良いでしょう。Gitリポジトリビューワーのベースに使えそうですね。