我正试图通过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)
Run Code Online (Sandbox Code Playgroud)
我发现它打开repo罚款,但head值设置为null.我想知道为什么它找不到HEAD?
我正在阅读这篇文档:http://wiki.eclipse.org/JGit/User_Guide
存储库的构造就像文档所说的RevWalk那样,以及它.我正在使用最新版本的JGit,它2.0.0.201206130900-r来自http://download.eclipse.org/jgit/maven.
我的问题:我需要在代码中更改什么才能让JGit返回实际的实例RevCommit而不是null现在的实例?
更新:此代码:
val git = new Git(repo)
val logs: Iterable[RevCommit] = git.log().call().asInstanceOf[Iterable[RevCommit]]
Run Code Online (Sandbox Code Playgroud)
给我这个例外: No HEAD exists and no explicit starting revision was specified
异常是奇怪的,因为一个简单的git rev-parse HEAD告诉我 …