您可以使用
DiffFormatter来获取的列表
DiffEntry。每个条目都有一个changeType,用于指定是添加,删除还是更改文件。一个
EntryS’
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}。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)