如何在jGit中提交所有已更改的文件?

问题描述 投票:0回答:1

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()));
java git jgit
1个回答
-1
投票

我知道下面的命令行,它将在ms内打印输出

git format-patch initial-commit --stdout> output.patch

© www.soinside.com 2019 - 2024. All rights reserved.