多个android repo同步致命错误

时间:2018-07-22 15:31:26

标签: android git terminal repository repo

我正在使用repo sync将Lineage OS 15.1与

同步
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1

对于不同的存储库,我反复遇到很多以下错误

1:

curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.

2:

Cannot fetch LineageOS/android_external_lineage-sdk-api-coverage
warn: --force-broken, continuing to sync

3:

fatal: unable to access 'https://github.com/LineageOS/android_external_lineage-sdk-api-coverage/': Could not resolve host: github.com

4:

fatal: unable to access 'https://android.googlesource.com/platform/system/tpm/': gnutls_handshake() failed: The TLS connection was non-properly terminated.

5:

fatal: unable to access 'https://github.com/LineageOS/android_external_lineage-sdk-api-coverage/': gnutls_handshake() failed: Error in the pull function.

6:

fatal: unable to access 'https://android.googlesource.com/platform/external/libcap/': gnutls_handshake() failed: Error in the pull function.

7:

error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

8:

error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

9:

fatal: unable to access 'https://github.com/LineageOS/android_hardware_broadcom_libbt/': Empty reply from server

10:

fatal: unable to access 'https://gerrit.googlesource.com/git-repo/': Failed to connect to gerrit.googlesource.com port 443: Connection timed out

,由于这些错误,回购同步会以error: Exited sync due to fetch errors停止,因此我使用了repo sync -f(-force break flag)来修复网络错误(不确定)。我的存储库仍在同步(以及错误),我不知道最后是否会获得正确的同步文件。有人可以告诉我这些错误是什么吗?为什么会发生它们以及如何解决它们?我可以看到其中一些与网络相关,但我不确定有多少。请帮我解决这些问题。

我搜索了一些关于SE的问题,但这些错误有不同的背景,与repo无关(尽管显然与git有关)。

我的网络速度:最高1MBps(这为什么让我更困惑那些通常不应该发生的网络问题)

2 个答案:

答案 0 :(得分:0)

我意识到高速连接是不够的,它必须高度稳定并与其速度保持一致。

此网络更改解决了除GnuTLS问题以外的大多数问题。似乎gnutls要求我提供公司级的互联网连接(我负担不起),因为它对网络波动非常敏感 。

git config --global http.postBuffer 1048576000方法无效。

我用gitguide)重建了openssl 将波动敏感性降低了 (与gnutls)。

此后,通过一次又一次运行repo sync -f来修复剩余的错误。这不是很多解决方案,但是教训是openssl 在不稳定和低带宽的情况下效果更好 (也就是说,如果您将1-2MBps称为低带宽连接)连接。

答案 1 :(得分:0)

我运行了以下命令来调整TCP设置并使用非并行命令。之后,我成功下载了所有源代码:

sudo sysctl -w net.ipv4.tcp_window_scaling=0
repo sync -j1

来源:https://source.android.com/setup/build/downloading#troubleshooting-network-issues