読者です 読者をやめる 読者になる 読者になる

Lambdaカクテル

DESCRIBING: Scala, Akka, P2P, Scheme, Political sth., etc.

ScalaからJGit経由でGitを叩く

scala git jgit

ScalaからGitを触るには、Java用ラッパーのJGitを使うのがベストっぽいです。

勉強がてらサンプルを作ったのでおシェアします。

windymelt/exercise-scala-jgit · GitHub

感想

jQueryを彷彿とさせるメソッドチェインでレポジトリの操作を記述します。Scalaとは親和性が高いように感じました。

git.merge()
    .include(git.getRepository.getRef("refs/remotes/origin/master"))
    .setFastForward(MergeCommand.FastForwardMode.FF)
    .setStrategy(MergeStrategy.RECURSIVE)
    .setSquash(false)
    .call()

Javaのライブラリだから仕方無いのですが、Fileとか面倒なのが出てくると悲しい気持ちになりました。そうはいってもScalaのIO周りも大概だなと思いました。

参考

このあたりを見ました。

JGit を Scala から使う - seratch's weblog in Japanese

JGit - Java で Git を操作する - Qiita