jgit を使用して、git リポジトリのマスター ブランチのクローンを作成し、これを使用してリモート ブランチをチェックアウトしました。
git.checkout()
.setCreateBranch(true)
.setName(branch)
.setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.TRACK)
.setStartPoint(s"origin/$branch")
.setForce(true)
.call()
次に、このブランチで git pull を試みましたが、
git.pull().call()
しかし、このエラーで終わった
Exception in thread "main" org.eclipse.jgit.api.errors.InvalidConfigurationException: No value for key branch.X.Y.Z.merge found in configuration
at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:217)
at com.baml.cesium.sphinx.token.TestGIT$delayedInit$body.apply(TestGIT.scala:52)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:71)
at scala.App$$anonfun$main$1.apply(App.scala:71)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
at scala.App$class.main(App.scala:71)
at com.baml.cesium.sphinx.token.TestGIT$.main(TestGIT.scala:15)
at com.baml.cesium.sphinx.token.TestGIT.main(TestGIT.scala)
チェックアウトされたブランチが .git/config で更新されていないことがわかりました。これがおそらくこのエラー メッセージの原因です。それで、その構成はチェックアウトで何らかの形で更新できますか、それともjgitは実際にチェックアウトされたブランチでgit pullを許可しますか?
(jgitでブランチを直接クローンできることは知っていますが、それでも上記の答えを知りたいです)
ありがとう!