Git repo sync - 连接丢失

时间:2015-12-23 07:44:29

标签: android git android-source repo

我试图下载android源码(Cyanogenmod)。我花了超过12小时下载2.5GB文件,现在我的连接丢失了一段时间,它显示

 error: RPC failed; result=56, HTTP code = 200
    fatal: The remote end hung up unexpectedly
    fatal: early EOF
    fatal: index-pack failed
    fatal: unable to access 'https://android.googlesource.com/platform/prebuilts/misc/': Could not resolve host: android.googlesource.com
    fatal: unable to access 'https://github.com/CyanogenMod/android_packages_inputmethods_LatinIME/': Could not resolve host: github.com
    fatal: unable to access 'https://android.googlesource.com/platform/prebuilts/misc/': Could not resolve host: android.googlesource.com
    error: Cannot fetch CyanogenMod/android_packages_inputmethods_LatinIME
    error: Cannot fetch platform/prebuilts/misc
    error: Exited sync due to fetch errors

我可以恢复下载,或者我应该从头开始下载,请帮我恢复下载。 谢谢!

4 个答案:

答案 0 :(得分:1)

一旦您应用了我在下面描述的修补程序,您只需重新运行repo sync即可恢复并完全完成由这些致命错误中断的资源同步过程。

您遇到的与DNS相关的错误的解决方案[fatal: Could not resolve host]详细介绍了Google {{3}的已知问题解决方案页面}。通过在开发计算机的android.googlesource.com配置文件中为远程存储库/etc/hosts添加适当的主机条目来应用此修复程序。从AOSP Developer Siteclicking here开始执行免费网络资源提供的IP地址查找工具:here

Google对此问题的完整描述以及此处包含的详细解决方案:

  
    

难以同步源树(DNS问题)。

         

症状:运行repo sync时,进程失败并出现各种错误     与无法识别主机名有关。一个这样的错误是     <urlopen error [Errno -2] Name or service not known>。     编辑:另一个致命错误可能是 Could not resolve host

         

原因:某些DNS系统很难处理高数字     同步源树的查询(可能有几个     在最坏情况下的一百个请求。)

         

修复:手动解析相关主机名,并对其进行硬编码     结果在当地。

         
      

您可以使用nslookup命令解决这些问题,该命令将为您提供帮助       每个人的一个数字IP地址(通常在&#34;地址&#34;       输出的一部分)。

    
  
    $ nslookup googlesource.com
    $ nslookup android.googlesource.com
  
    

然后,您可以通过编辑/ etc / hosts并添加两个来对其进行本地硬编码     该文件中的行,格式为:

  
    aaa.bbb.ccc.ddd   googlesource.com
    eee.fff.ggg.hhh   android.googlesource.com
  
    

请注意,这只会在     服务器&#39;地址不会改变,如果他们这样做,你就无法联系     您必须再次解析这些主机名并编辑etc / hosts     相应

  

答案 1 :(得分:0)

don't resume a clone,您可以try a shallow clone instead

如上所述:

  

Error code 56表示卷曲接收错误为CURLE_RECV_ERROR,这意味着存在一些阻止在克隆过程中接收数据的问题。
  通常,这是由网络设置,防火墙,VPN客户端or anti-virus引起的,它在传输所有数据之前终止连接。

您可以通过以下方式了解更多信息:

set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1

您可以尝试changing http.postBuffer或切换到ssh url clone。

答案 2 :(得分:0)

  

无法解析主机:android.googlesource.com

这可能是DNS服务器问题。首先尝试restarting your modem以刷新其DNS缓存。如果您仍然遇到问题,请尝试changing your Primary DNS与Google运营的这两个公开的DNS服务器之一:

  • 8.8.8.8
  • 8.8.4.4

请注意,如果您的主DNS已经按照描述进行了配置,并且您还在没有解决方案的情况下长时间重启路由器(双关语),那么调整主DNS配置以指向其他公共DNS服务器的可能性不大解决你的情况。但是,一个声誉良好的免费公共服务器列表can be found here

答案 3 :(得分:0)

Spartan我检查了Cyanogenmod它正常工作我更喜欢使用互联网下载管理器。我下载60mp并召回它。成功获取并恢复。