TreeWalk允许在单个提交或整个存储库中获取所有更改,并检查每次提交的更改文件(由RevWalk进行)的确非常缓慢,大约需要2分钟。有什么方法可以浏览更改的文件并检查上次更改的提交?还是其他更快的解决方案? 这是我的从提交获取更改文件的代码:
TreeWalk treeWalk = prepareTreeWalk(commit, git.getRepository());
List<String> files = new ArrayList<>();
while (treeWalk.next()) {
if (!hasSimilar(treeWalk)) {
files.add(treeWalk.getPathString());
}
}
和用于选择提交(因为有些特殊):
return Lists.reverse(StreamSupport.stream(
git.log()
.add(git.getRepository().resolve(branch.getName()))
.call()
.spliterator(), false)
.filter(since(sinceCommit::equals))
.collect(Collectors.toList()));
答案 0 :(得分:-1)
我知道下面的命令行,它将在ms内打印输出
git format-patch初始提交--stdout> output.patch