1

我希望能够从 Groovy 脚本中自动执行多个 >git 命令。我想使用如下代码执行一个过程......

def cmd = "${GIT_EXEC} submodule update --init ";
def process = cmd.execute(null, new File('.'));
process.consumeProcessOutput(System.out, System.err);
process.waitFor();
rc = process.exitValue();

这就是问题所在...

当您手动输入该命令时,系统会提示您输入密钥密码。使用我的 groovy 脚本,您不会收到提示,脚本只是挂起。:(

我看过其他几个与该领域相关的帖子。一致的反应是使用名为ssh-agent. 该工具不在我的 Windows 机器上,也不在项目中其他开发人员和管理员的 Windows 机器上。我不想让他们找到对 Windows 友好的版本并安装它。

这是我的情况与其他情况不同的地方:我不需要阻止 shell 提示输入密码。如果提示通过我的 groovy 脚本发生,用户可以键入它,并且生活将正常继续,我会很高兴。

有没有一种奇特的方法可以告诉我从 Groovy 中调用的进程继续与用户交互,而不仅仅是吞下提示?

我在这里有什么选择?

4

1 回答 1

0

使用像jgit这样的纯 Java Git 客户端库来与 git 交互,而不是产生一个进程怎么样?

于 2012-10-17T00:10:21.507 回答