使用JGit在两次提交之间更改的文件列表

使用JGit在两次提交之间更改的文件列表,第1张

使用JGit在两次提交之间更改的文件列表

您可以使用

DiffFormatter
来获取的列表
DiffEntry
。每个条目都有一个changeType,用于指定是添加,删除还是更改文件。一个
Entry
S’
getOldPath()
getNewPath()
方法返回的路径名。该JavaDoc中列出了每个方法retuns对于给定的变型。

ObjectReader reader = git.getRepository().newObjectReader();CanonicalTreeParser oldTreeIter = new CanonicalTreeParser();ObjectId oldTree = git.getRepository().resolve( "HEAD~1^{tree}" );oldTreeIter.reset( reader, oldTree );CanonicalTreeParser newTreeIter = new CanonicalTreeParser();ObjectId newTree = git.getRepository().resolve( "HEAD^{tree}" );newTreeIter.reset( reader, newTree );DiffFormatter diffFormatter = new DiffFormatter( DisabledOutputStream.INSTANCE );diffFormatter.setRepository( git.getRepository() );List<DiffEntry> entries = diffFormatter.scan( oldTreeIter, newTreeIter );for( DiffEntry entry : entries ) {  System.out.println( entry.getChangeType() );}

上面的示例列出了

HEAD
与其之间的更改文件,但可以进行更改以比较诸如的任意提交
abc^{tree}



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5131877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存