RestfulGitはPython製のオープンソース・ソフトウェア(MIT License)です。

オープンソースのプログラマーにとってGitは欠かせないツールになりつつあります。そして純粋なGitコマンドの他にもGitリポジトリを操作できるライブラリが多数出てきています。今回はRESTfulにGitリポジトリを操作するRestfulGitを紹介します。

[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 14.44.48_thumb.1379165722.png)](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_thumb.1379165725.png)](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_thumb.1379165730.png)](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リポジトリビューワーのベースに使えそうですね。

hulu/restfulgit