JGit:检索文件对象Blob而不访问其数据的最快方法

时间:2014-06-28 12:34:20

标签: java git jgit

我需要最后一次提交,影响类似于git log -1 -- path的路径。

目前,我正在这样做

TreeWalk.forPath(repo, filepath, rootCommit.getTree()).getObjectId(0)

有没有更快的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

另一个选择是将Porcelain命令用于“log”,它在内部使用RevWalk,因此它可能以不同的时序运行,但是我不确定哪一个会更快,它也可能取决于存储库大小和结构在某种程度上...

    Iterable<RevCommit> logs = new Git(repository).log()
            .addPath("README.md")
            .setMaxCount(1)
            .call();
    for(RevCommit rev : logs) {
        System.out.println("Commit: " + rev);
    }