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日前完成提交。有些东西似乎没有了。 –
哦,我想清楚了我的问题,我在作者提交时间和修订提交时间时让自己感到困惑。修订提交时间出现在正确的时间,我只是有问题将时间转换为人类可读的日期。 –