2017-06-18 14 views
1

同期シアンジェノードソースをレポしようとしました。それは99%の段階まで達しましたが、この段階では大きなファイルがあり、インターネット接続の切断が頻繁に行われるため、ダウンロードできません。頻繁なインターネット切断のために、レポ同期が99%でスタックしました

接続が切断されるたびにfatal: early EOFが表示され、repo syncが停止し、次回の実行時に一時的なオブジェクトを保存していたにもかかわらず、最初からこのファイルが開始されているようです。

repo syncには、最初から開始するのではなく、特定のファイルで停止したポイントから次の実行を開始するように指示する方法はありますか?

私は、一晩、inifiniteループでレポ同期を実行しようとしましたが、ダウンロードが終了せず、代わりに私のメモリがいっぱいになりました。

一時的なファイルは、形式でフォルダ~/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 sync -j4 -f -c

レポinitコマンドたです実行し、正確なレポsyncコマンド:私は次のことを試みた

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 
+0

これについてはGitメーリングリスト[email protected]をご覧ください。 IIRCでは最近、 'git fetch'で履歴書をサポートすることについての議論がありました。私はあなたの' repo sync'が頼っていると思っていますが、その議論の結論は何かを覚えていません。 – Pockets

答えて

0

最後に、Ubuntuマシンの実行に使用されていたVMWareを使用しているため、問題が改善されたようです。何らかの理由でVMWareがインターネットインターフェイスを頻繁に切断する原因となったのですが、今度はfatal: early EOFが発生したにもかかわらず、VirtualBoxを使用しようとしたときに、インターネットインターフェイスが同期を完了するのに十分安定していました。

0

repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0

インターネット切断後に印刷エラーです今すぐコマンドを実行し、同期はトラフになりました。私はレポ同期のための-c/--current-branchオプションは、レポは、あなたが本当に代わりに、それぞれのgitのすべての支店の必要なだけブランチを取得することができ、すべてのプロジェクト

repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0` 
repo sync -j8 -q -c --no-tags` 

を得ました。

--no-tagsすべてのタグ

-c使うと--no-タグを同期回避は、このように同期が速くなると、あなたはあまりダウンロードさせます。

さらに速くしたい場合は、--depth=<n>を試してみることもできますが、gitの履歴を削除します。

インターネット接続切断後、効果的に停止した場所を選択します。プロジェクトリストを最初からやり直し、既に処理されたプロジェクトの新しいデータを取得するかもしれません。

以前にフェッチされたすべてのデータが.repoディレクトリに存在するため、以前同期されたプロジェクトではかなり高速に移動します。

私はあなたが切断後毎回repo initをやっていないことを願っています。

+0

ねえ、これがどうやって私の状況に役立つのか分かりません。私の問題は頻繁なインターネットの切断です。どの旗がそれを助けることができるでしょうか? –

関連する問題