加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy执行git shell命令

发布时间:2020-12-14 16:34:14 所属栏目:大数据 来源:网络整理
导读:我正在尝试在groovy中执行git shell命令.第一个执行得很好但第二个返回退出代码128: def workingDir = new File("path/to/dir") "git add .".execute(null,workingDir) def p = "git reset --hard".execute( null,workingDir ) p.text.eachLine {println it
我正在尝试在groovy中执行git shell命令.第一个执行得很好但第二个返回退出代码128:

def workingDir = new File("path/to/dir")
   "git add .".execute(null,workingDir)
   def p = "git reset --hard".execute( null,workingDir )
   p.text.eachLine {println it}
   println p.exitValue()

这段代码有什么问题?

解决方法

第二个过程在第一个过程完成之前开始.当第二个git进程启动时,git会识别出已经有一个git进程在同一个目录中运行,这可能会导致问题,从而导致错误输出.如果您从第一个进程中读取错误流,您将看到如下内容:

fatal: Unable to create 'path/to/dir/.git/index.lock': File exists.

If no other git process is currently running,this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

如果你在开始第二个之前等待第一个完成,那应该可行.像这样的东西:

def workingDir = new File("path/to/dir/")

def p = "git add .".execute(null,workingDir)
p.waitFor()
p = "git reset --hard".execute( null,workingDir )
p.text.eachLine {println it}
println p.exitValue()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读