2017-10-12 62 views
0

我想在斯卡拉执行命令,但我得到一个错误斯卡拉进程生成

s"git --git-dir ${repository.localLocation.get.path}/.git log --format='%h %at %s' --no-decorate" !! 

我得到一个错误,退出状态:

java.lang.RuntimeException: Nonzero exit value: 128 
at scala.sys.package$.error(package.scala:27) 
at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang$bang(ProcessBuilderImpl.scala:134) 

但是,当我“M通过终端运行此它完美的作品:

git --git-dir='/var/folders/mk/dc2mnd7x3db1hnqm0vfg6b800000gn/T/XXHMjm7178261334218603127.tmp/.git' log --format='%h %at %s' 

如果我只能留下一个部分,它工作正常。

任何人都可以帮助我吗?

回答

1

您应该使用Seq[String]变体,因为您的参数中有可能用于错误分隔参数的空格字符。尝试

Seq("git", "--git-dir", s"${repository.localLocation.get.path}/.git", 
    "log", "--format='%h %at %s'", "--no-decorate").!! 

另请注意,您将在输出中看到单个滴答声。您可能需要"--format=%h %at %s"