JGit和寻找头部
我正在尝试使用JGit获得HEAD提交:
val builder = new FileRepositoryBuilder()
val repo = builder.setGitDir(new File("/www/test-repo"))
.readEnvironment()
.findGitDir()
.build()
val walk: RevWalk = new RevWalk(repo, 100)
val head: ObjectId = repo.resolve(Constants.HEAD)
val headCommit: RevCommit = walk.parseCommit(head)
我发现它打开存储库很好,但值设置为。我想知道为什么它找不到HEAD?head
null
我正在阅读此文档:http://wiki.eclipse.org/JGit/User_Guide
存储库的构造就像文档所说的那样,也是如此。我正在使用来自 http://download.eclipse.org/jgit/maven 的最新版本的JGit。RevWalk
2.0.0.201206130900-r
我的问题是:我需要在我的代码中更改什么才能让JGit返回实际的实例,而不是像现在这样?RevCommit
null
更新:此代码:
val git = new Git(repo)
val logs: Iterable[RevCommit] = git.log().call().asInstanceOf[Iterable[RevCommit]]
给我这个例外:No HEAD exists and no explicit starting revision was specified
这个例外很奇怪,因为一个简单的告诉我,这意味着存储库中有一个HEAD。我尝试过不同的存储库,我的和来自其他人的。git rev-parse HEAD
0b0e8bf2cae9201f30833d93cc248986276a4d75