2016-04-27 32 views
0

我正試圖找到一種方法來獲取JGit每次提交的插入次數。 當從JGit中提交獲取差異條目列表時,有沒有辦法跳過二進制文件?或者我應該獲得所有差異條目,從每個獲取路徑並手動檢查MIME類型?如何從JGit提交獲取差異條目列表時跳過二進制文件?

diffs = diffFormatter.scan(directParent, commit); 
... 
path = repoDirectory + diff.getNewPath(); 
... 
type = Files.probeContentType(Paths.get(path)); 
if (type ... 

我想知道我是否可以用JGit自己做到這一點。

回答

0

在你的問題中草擬的方法應該工作得很好。您可以使用DiffFormatter::setPathFilter()指定排除某些文件的TreeFilter

但是,請注意,如果工作副本不存在,或者在極少數情況下如果內容類型更改會導致錯誤結果,則使用工作目錄來探測內容類型可能會失敗。

+0

首先,感謝您的回答,並且..是的,您對最後一句話絕對正確。我發現了一種檢測提供原始字節數組的MIME類型的方法。事情是,如果文件是二進制文件,檢測到的MIME類型不足以作出決定。 – blumch

相關問題