我正在尝试使用JGit进行项目,虽然它主要工作,但检索最早的(第一次)提交却没有.这是代码:
RevWalk rw = new RevWalk(new Repository(
new File("/path/to/git")));
RevCommit oldest;
Iterator<RevCommit> i = rw.iterator();
if (i.hasNext())
oldest = i.next();
Commit c = oldest.asCommit(rw); //oldest is null here, NPE
Run Code Online (Sandbox Code Playgroud)
有谁知道我做错了什么?
Geo*_*ios 10
我想我找到了.您必须反转提交日志并设置一个起点,以使其开始通过修订.以下摘录做了我想要的,但我不知道它是多么优化.
RevWalk rw = new RevWalk(new Repository(
new File("/path/to/git")));
RevCommit c = null;
AnyObjectId headId;
try {
headId = git.resolve(Constants.HEAD);
RevCommit root = rw.parseCommit(headId);
rw.sort(RevSort.REVERSE);
rw.markStart(root);
c = rw.next();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2669 次 |
| 最近记录: |