2017-08-29 167 views
1

在下面的代码中,我得到了以下错误:Could not find matching constructor for: org.eclipse.jgit.revwalk.RevWalk(org.eclipse.jgit.api.Git)。我想检查作者最后的提交,如果它是约翰,删除该文件。哪里不对?jGit构造函数错误

def badAuthor = 'John' 

def authorEqual() { 

Git git = Git.open(new File(".git")) 
RevCommit lastCommit = null; 
    try { 
     RevWalk walk = new RevWalk(git) --> HERE ERROR 
     RevCommit commit = walk.parseCommit(head.getObjectId()); 
     PersonIdent aAuthort = commit.getAuthorIdent() 
     if(commit.getAuthorIdent().getWhen().equals(aAuthor == BadAuthor).compareTo(
      lastCommit.getAuthorIdent().getWhen()) > 0) 
       lastCommit = commit 
       println commit 
       git.rm.call() 
    } 
    finally {  
      println "Commit ok" 
    } 
} 
authorEqual() 
+2

请问您可以试试:'RevWalk walk = new RevWalk(git.repository)'? – Opal

+0

是的,就是这样。谢谢 –

回答

1

正如你可以在docsRevWalk看到接受一个构造函数的Repository实例。 Repository可以从Git实例中获得,看一下here