2017-10-17 3 views
1

J'essaie d'obtenir des informations sur un commit spécifique. Comment ajouter un tuyau à la ligne de commande?Comment ajouter un tuyau à la ligne de commande exec groovy?

def getCommitLog(commit){ 
    def stdout = new ByteArrayOutputStream() 
    exec { 
     ignoreExitValue true 
     workingDir 'my_dir' 
     commandLine 'git', 'log', '--decorate', '|', 'grep', commit 
     standardOutput = stdout 
    } 
    def retval = stdout.toString().trim() 
    return retval 

Il jette cette erreur:

fatal: ambiguous argument '|': unknown revision or path not in the working tree. 
Use '--' to separate paths from revisions, like this: 
'git <command> [<revision>...] -- [<file>...] 
+0

Pouvez-vous montrer à quoi ressemble la méthode 'exec'? –

Répondre

0

Peut être que vous pouvez essayer de changer comme ci-dessous par exemple, l'utilisation liste

de:

commandLine 'git', 'log', '--decorate', '|', 'grep', commit 

à:

commandLine ['git', 'log', '--decorate', '|', 'grep', 'commit'] 
+0

Impossible de lancer l'objet git avec la classe java.lang.String à la classe 'int' –

+0

Ouais j'ai utilisé ceci pour la ligne avec l'erreur ci-dessus j'ai posté: commandLine ['git', 'log', '--decorate', '|', 'grep', valider] –