2012-02-24 120 views
2

我試圖通過提供提交ID來獲取所有提交的文件。從JGit中提交獲取已更改文件的列表

RevCommit commit = walk.parseCommit(ObjectId.fromString(objId)); 
FileTreeIterator fileTreeItr = new FileTreeIterator(repository); 
Tree tree = new Tree(repository); 
IndexDiff indexDiff = new IndexDiff(repository, commit.getId(), fileTreeItr); 
System.out.println(indexDiff.getChanged()); 
System.out.println(indexDiff.getAdded()); 

上面的代碼不工作,有人可以找出這裏有什麼錯誤或任何其他方式來得到這個工作?

回答

0

也許這個code example可以幫助使用IndexDiff。

IResource project = session.getLaunchedProject().getResource(); 
File gitDir = new File(project.getLocation().toFile().toString() + "/.git"); 
System.out.println("gitDir:" + gitDir); 
Repository repository = new FileRepository(gitDir); 

File workTree = repository.getWorkTree(); 
IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); 
WorkingTreeIterator fileTreeIterator = 
new AdaptableFileTreeIterator(workTree, workspaceRoot); 

IndexDiff indexDiff = new IndexDiff(repository, Constants.HEAD, fileTreeIterator); 
+0

不要自我:在https://github.com/eclipse/egit/tree/master/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff – VonC 2012-02-24 08:48:50

+1

來源我正在測試這個例子,但是AdaptableFileTreeIterator沒有成爲JGit類的一部分......我看到這是一個EGit類,但是我找不到任何依賴定義來將它添加到我的pom中......我該怎麼辦? – jomaora 2012-08-10 09:04:38

+0

@jomaora true:Egit類:https://github.com/eclipse/egit/blob/master/org.eclipse.egit.core/src/org/eclipse/egit/core/AdaptableFileTreeIterator.java。所以你的'pom.xml'需要在其依賴關係中引用' org.eclipse.egit'。 – VonC 2012-08-10 09:08:34

相關問題