jGit에서 RevFilter
을 어떻게 사용합니까?jGit에서 필터를 사용하려면 어떻게해야합니까?
특정 작업 (getting the commits made between two dates)을 완료하는 데 관한 질문에 대한 답변을 찾았으며 특정 대답은 RevFilter
입니다. 그러나 RevFilter
s를 사용하는 방법을 모르겠습니다. 특히
, 난 내가 링크 된 질문에 답을하기 위해 무엇을해야하는지 알고 싶습니다
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 문서를 읽었습니다. 필터 그래서 문서 나에게 도움이되지 않습니다
에 대한TODO 토론 : 슬프게도, in the section that would show how to use filters는 라인이있다. 그리고 필터를 사용하는 것이 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 현재 커밋이 생성됩니다. 뭔가 떨어져 보인다. –
아, 내 문제를 알아 냈어. 나는 편집 커밋 시간이있는 저자 커밋 시간과 혼동하고 있었다. 개정 커밋 시간이 정확한 시간에 나타나고 있습니다. 시간을 사람이 읽을 수있는 날짜로 변환하는 데 문제가있었습니다. –