JGit y encontrar la cabeza

Estoy tratando de poner mis manos en el HEAD commit con 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)

Encuentro que abre el repo bien, perohead el valor se establece ennull. Me pregunto por qué no puede encontrar HEAD.

Estoy leyendo esta documentación:http://wiki.eclipse.org/JGit/User_Guide

El repositorio se construye tal como lo dice el documento, y elRevWalk también. Estoy usando la última versión de JGit que es2.0.0.201206130900-r desdehttp://download.eclipse.org/jgit/maven.

Mi pregunta: ¿qué debo cambiar en mi código para que JGit devuelva instancias reales deRevCommit en lugar denull como ahora lo hace?

Actualizar: Este código:

val git = new Git(repo)
val logs: Iterable[RevCommit] = git.log().call().asInstanceOf[Iterable[RevCommit]]

Me da esta excepción:No HEAD exists and no explicit starting revision was specified

La excepción es impar, porque un simplegit rev-parse HEAD me dice0b0e8bf2cae9201f30833d93cc248986276a4d75, lo que significa que hay una CABEZA en el repositorio. He probado diferentes repositorios, el mio y de otras personas.

Respuestas a la pregunta(4)

Su respuesta a la pregunta