我想要与以下命令
给出的输出相同git show --pretty="format:" --name-only <commitid>
使用JGit
有人可以帮助我逐步完成如何处理吗?
答案 0 :(得分:0)
您可以使用RevWalk
获取相关提交的树,然后使用TreeWalk
来迭代该提交中包含的文件。
Repository repo = git.getRepository();
ObjectId commitId = repo.resolve( "<id of commit>" );
RevWalk revWalk = new RevWalk( repo );
RevCommit commit = revWalk.parseCommit( commitId );
RevTree tree= commit.getTree();
TreeWalk treeWalk = new TreeWalk( repo );
treeWalk.addTree( tree );
treeWalk.setRecursive( true );
while( treeWalk.next() ) {
System.out.println( treeWalk.getPathString() );
}
revWalk.release();
treeWalk.release();