Fazer um loop sobre confirmações para um arquivo com jGit

Eu consegui entender o básico do arquivo jGit em termos de conexão com um repositório e adicionar, confirmar e até repetir as mensagens de confirmação para os arquivos.

File gitDir = new File("/Users/myname/Sites/helloworld/.git");

RepositoryBuilder builder = new RepositoryBuilder();
Repository repository;
repository = builder.setGitDir(gitDir).readEnvironment()
        .findGitDir().build();

Git git = new Git(repository);
RevWalk walk = new RevWalk(repository);
RevCommit commit = null;

// Add all files
// AddCommand add = git.add();
// add.addFilepattern(".").call();

// Commit them
// CommitCommand commit = git.commit();
// commit.setMessage("Commiting from java").call();

Iterable<RevCommit> logs = git.log().call();
Iterator<RevCommit> i = logs.iterator();

while (i.hasNext()) {
    commit = walk.parseCommit( i.next() );
    System.out.println( commit.getFullMessage() );

}

O que eu quero fazer a seguir é conseguir obter toda a mensagem de confirmação para um único arquivo e depois reverter o arquivo único para uma referência / ponto específico no tempo.

questionAnswers(4)

yourAnswerToTheQuestion