我试图在脚本中使用git命令,我希望git在任何情况下都能失败,这样我就可以判断用户在请求中提供的错误.
git
的当前行为如下:
- 该地址不是git回购,它失败了.
- 用户空间不存在,它需要用户名/密码
- 回购不存在或可能是私有的,它要求提供用户名/密码
- 如果用户名/密码/令牌错误,它会要求输入用户名/密码.
但这不仅仅是一个简单的"询问凭据"函数,而是git生成了许多其他进程,所有进程都具有不同的进程ID,并且出于某种原因,在不通知我的生成程序脚本的情况下杀死了原始生成的进程.(Node.js的spawn)
起初,如果主生成进程没有向其stdout写入响应,我try 使用超时来杀死它,但由于不再有具有该ID的进程,我无法进一步判断错误.除非可以从公共api获取提供的地址,否则我不得不放弃克隆回购协议的try .
我所有的搜索结果都在硬币的另一面,"让它来询问密码".我想知道我是否没有为自己的目的想出正确的搜索词,或者只是因为没有这样的方法.
如果我错过了一面旗帜,或者其他什么方法,请告诉我.
PS:我犹豫了一下,但我添加了 node .js标记,但这在任何可能产生子进程的语言中都可能是一个问题.