[英]How to get all changed files since some commit in jGit?
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()));
我知道下面的命令行,它將在ms內打印輸出
git format-patch初始提交--stdout> output.patch
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.