Lambdaカクテル

ソフトウェア開発者です.玉石混淆です.

ScalaからJGit経由でGitを叩く

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