当由 git 运行时,如何将 plink.exe 配置为冗长?
问题:在 Windows 上,当跨构建从站间歇性失败git.cmd clone git+ssh://user@host/repo folder
时使用命令。GIT_SSH=plink.exe
我需要找到根本原因,并使连接可靠,而无需重试。
我已经缩小了 sshd 正在运行并无错误地终止其进程的范围。服务器正在运行 gitosis,所以我只有命令行输出可以继续。当失败发生时,gitosis 不会被调用(没有 gitosis 打印),所以我怀疑是 windows ssh 客户端。
当 git 调用 plink.exe 时,我想连接详细日志记录。
设置GIT_SSH=plink.exe -v
结果为:
错误:无法生成 plink.exe -v:没有这样的文件或目录
事实证明,GIT_SSH 必须是可执行文件或包装脚本。
创建这样一个批处理文件包装器更接近:GIT_SSH=C:\path\to\plink.cmd
plink cmd 将plink.exe -v %*
预期的详细日志记录打印到控制台,但未成功终止,错误代码为 128。永远不会创建克隆的文件夹,最后打印的控制台输出是:
无法写入标准输出:管道正在关闭。
如何从 plink 获取失败时的详细客户端日志?