致命:远程端意外地挂起了libcurl result = 7

时间:2015-06-18 17:15:25

标签: git tfs libcurl

我已经尝试了Stackoverflow上的每个答案,这就是我所看到的

Counting objects: 134, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (73/73), done.
Writing objects: 100% (79/79), 208.38 KiB | 0 bytes/s, done.
Total 79 (delta 37), reused 1 (delta 0)
efrror: RPC failed; result=7, HTTP code = 401
atal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

重要的是要注意:我正在使用TFS Git服务器(也许这是我的问题,哈哈)

我尝试过的事情:

  • 确保网址是正确的,使用git remote -v(是的,所有内容都已检出)
  • 将全局http.postBuffer增加到524288000

有关错误消息的有趣信息:RPC失败; result = 7在堆栈溢出的大多数情况下很有意思,结果已经在50或20或者20中,我认为错误来自libcurl。如果是这种情况,那么我从TFS得到一个CURLE_COULDNT_CONNECT(7),我不明白为什么。有没有其他人遇到过这个错误?或者知道如何解决我看到的问题?

Curl的错误代码在这里 http://curl.haxx.se/libcurl/c/libcurl-errors.html

2 个答案:

答案 0 :(得分:2)

我认为它不是来自libcurl。因为...

HTTP code = 401

...表示libcurl返回HTTP响应,响应代码表示401. 401表示您未经过身份验证以访问该资源。用户名或密码错误或类似错误。

答案 1 :(得分:0)

  

错误:RPC失败; result = 7,HTTP code = 401

如果之前有效,这很可能意味着一些临时网络问题。

请参阅:man curl

  

7 - 无法连接到主机。

HTTP 401表示通过HTTP传输进行身份验证问题。

自Git v1.7.1以来,这已有所改进:

 * Authentication over http transport can now be made lazily, in that the
   request can first go to a URL without username, get a 401 response and
   then the client will ask for the username to use.

请使用ssh命令测试您的凭据,例如:

ssh -T -p 443 git@ssh.github.com

如果仍然遇到问题,请改用SSH协议(测试方法:ssh -T git@github.com)。

有关进一步的git调试,请参阅:How can I debug git/git-shell related problems?