当我添加两个AuthorFilter时,Gitective AndCommitFilter不起作用

时间:2012-08-09 15:54:29

标签: java jgit

我正在使用jGit中的RevFilters和gitective。我一直在寻找特定用户的提交列表,而AuthorFilter完美地工作。但是,现在我想做的是获得一个或多个用户的提交。

当我在我的仓库上执行git log命令时,我有

  

joan @ jomaora:〜/ testGit / testMockito $ git log commit   b5a49a83f052f632d78a09238056d4df8ebffb59作者:Marc Czeck    日期:2012年8月7日星期二17:03:44 +0200

Modifying 1.
     

commit 8d8dafd5242dbddf34a92ef39661b24167e25b0c作者:Joan   Ortega-Ardila日期:2012年8月7日星期二17:01:37   0200

Starting repo.

我已经为这两个用户提交了。当我评论我添加的AuthorFilter之一时,我的代码有效。 AndCommitFilter不接受列出这个吗?这是我的代码:

FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(new File("/home/joan/testGit/testMockito/.git"))
    .readEnvironment()
    .findGitDir()
    .build();

PersonIdent p1 = new PersonIdent("Joan Ortega-Ardila", "jmortega@gmail.com");
PersonIdent p2 = new PersonIdent("Marc Czeck", "marc.czezk@gmail.com");

CommitListFilter list = new CommitListFilter();
AndCommitFilter filters = new AndCommitFilter();

filters.add(new AuthorFilter( p1 ));
filters.add(new AuthorFilter( p2 ));
filters.add(list);

CommitFinder finder = new CommitFinder(repository);
finder.setFilter(filters).find();

for(RevCommit rev : list.getCommits()){
    System.out.println(rev.getName());
    System.out.println(rev.getAuthorIdent().getName());
    System.out.println(rev.getShortMessage());
}

由于

0 个答案:

没有答案