JGit и найти руководителя
я пытаюсь взять в свои руки коммит HEAD с JGit:
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
значение установлено вnull
, Интересно, почему это можетне найти голову?
Я читаю эту документацию: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]]
Дает мне это исключение:No HEAD exists and no explicit starting revision was specified
Исключение странное, потому что простоеgit rev-parse HEAD
говорит мне0b0e8bf2cae9201f30833d93cc248986276a4d75
Это означает, что в хранилище есть ГОЛОВКА. Я'Я пробовал разные репозитории, мои и других людей.