2
如何在jGit中使用RevFilter
?如何在jGit中使用過濾器?
我發現了一個關於完成特定任務(getting the commits made between two dates)的問題的答案,並且答案表示使用RevFilter
的特定子類。但是,我不知道如何使用RevFilter
!
我特別想知道什麼,我需要做的,採取這個問題的答案我聯繫,它說
Date since = getClock(); Date until = getClock(); RevFilter between = CommitTimeRevFilter.between(since, until);
,並用它實際上遍歷提交這兩個日期之間。例如:
RevFilter between = CommitTimeRevFilter.between(since, until);
RevWalk walk = new RevWalk(repository);
walk.magicallyApplyFilters(between);
for(RevCommit commit : RevWalk) {
// Do my thing
}
我已閱讀jGit文檔。可悲的是,in the section that would show how to use filters,有一行:
TODO談過濾器
所以文檔不幫我。儘管我的印象是使用過濾器是使用jGit的基本部分,但沒人問過如何在StackOverflow上使用它們!
我在使用您的答案時出現問題。見http://stackoverflow.com/questions/28056917/when-i-use-a-revfilter-my-revwalk-isnt-selecting-any-commits – Kevin
我現在正在嘗試它。但到目前爲止,我的印象是,jgit所經歷的時間與您設定的時間並不完全相同。就像有一個重大的抵消。在我的測試中,自2014年初以來,我正在查看的回購協議已進行了修訂。2015年嘗試爲修訂版設置篩選器將於2014年12月15日前完成提交。有些東西似乎沒有了。 –
哦,我想清楚了我的問題,我在作者提交時間和修訂提交時間時讓自己感到困惑。修訂提交時間出現在正確的時間,我只是有問題將時間轉換爲人類可讀的日期。 –