k4200’s notes and thoughts

Programmer side of k4200

JGitその1

ここ最近作りかけのサイトでJGitというライブラリを使ってる。その名の通り、JavaからGitのレポジトリを操作したり出来るもの。

Javaプログラムからgitコマンドを呼び出すという選択肢もあったんだけど、以下の2つの理由からJGitを選択。

  • 環境依存を減らしたかった。
  • JGitは使ったことがなかったので単に興味があった。

インストールの仕方

こちらのページに従ってjarをダウンロードして直接クラスパスに入れてもいいし、mavenを使っても良し。

sbtの場合は、プロジェクトファイルにちょっと付け加えて、sbt reload → sbt update。

  val jGitRepo = "JGit" at "http://download.eclipse.org/jgit/maven"
  override def libraryDependencies = Set(
    //  :
    //  :
    "org.eclipse.jgit" % "org.eclipse.jgit" % "0.10.1",
    //  :
    //  :
  ) ++ super.libraryDependencies

情報源

ドキュメントが結構少ない。

  • 公式のWiki
  • あとは、ソースをgitのレポジトリから取得して直接見るとか
  • オンラインにJavadocがあった気がするけど、今検索しても見付からず

まだまだ発展途上

コミットログを見る限り、頻繁に開発が行われている模様。mavenで取ってこられるのは2011/3/5現在0.10.1だけど、最新のstableは0.11.3。

新しいバージョンを使いたい場合には、レポジトリから持ってきてビルドする。自分の場合は、cloneコマンドを使いたかったのに、0.10.1では実装されていなかったため、0.11.3を使う事にした。

$ git clone git://egit.eclipse.org/jgit.git
$ cd jgit
$ git checkout v0.11.3
$ mvn package

気が向いたら、実際のコード例とか書いてみる。