【发布时间】:2017-11-20 22:04:03
【问题描述】:
我尝试重新同步 cyanogenmod 源。一直到99%这个阶段,但是这个阶段好像有一个大文件,而且因为我经常断网,下载不了。
每次断开连接时,都会打印一个fatal: early EOF,repo sync 会停止,并且似乎在下一次运行时,它会从头开始这个文件,尽管之前保存了一个临时对象。
有没有办法告诉repo sync 从它在特定文件中停止的点开始下一次运行,而不是从头开始?
我尝试在一夜之间无限循环运行 repo 同步,但下载并没有结束,而是我的内存已满。
临时文件位于文件夹~/android/system/.repo/project-objects/CyanogenMod/android_frameworks_base.git/objects/pack 下,格式为:
78M tmp_pack_7JhRgA
106M tmp_pack_fprjIZ
523M tmp_pack_tydAd5
436M tmp_pack_po9dEw
780M tmp_pack_rewDSS
我还尝试在每次新的 repo 同步之前删除这些临时文件以避免内存满,但它仍然无助于结束下载。顺便说一句,删除它们似乎不会使下一次运行从不同的点开始,因此它证实了它在下一次运行中忽略它们的怀疑。
我运行的确切 repo 同步命令是 repo sync -j4 -f -c
repo init 命令是:
repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0
断网后打印的错误是:
Fetching projects: 94% (497/528) Fetching project CyanogenMod/android_frameworks_opt_vcard
Fetching project CyanogenMod/android_hardware_qcom_audio00 KiB/s
Fetching projects: 96% (507/528) Fetching project CyanogenMod/android_hardware_qcom_audio00 KiB/s
Fetching project CyanogenMod/android_hardware_qcom_audio00 KiB/s 616668), 4.93 MiB | 131.00 KiB/s
Fetching project CyanogenMod/android_hardware_qcom_audio00 KiB/s 616668), 5.12 MiB | 123.00 KiB/s
Fetching project CyanogenMod/android_hardware_qcom_audio00 KiB/s
Fetching project CyanogenMod/android_hardware_qcom_audio00 KiB/s
Fetching projects: 99% (523/528) Fetching project CyanogenMod/android_hardware_qcom_audio
Fetching project CyanogenMod/android_hardware_qcom_audio00 KiB/s
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
【问题讨论】:
-
您可能应该在 Git 邮件列表 git@vger.kernel.org 上就此事联系。 IIRC 最近在
git fetch中讨论了关于支持简历的讨论,我怀疑这是您的repo sync所依赖的,但我不记得那个讨论的结论是什么。
标签: android git vmware cyanogenmod repo