暂停和恢复Android Repo同步

7
我正在尝试同步以下存储库: repo init -u git://github.com/SlimRoms/platform_manifest.git -b jb 问题是,我开始了大约30个小时的repo同步,但仍未完成(我有1Mbps的连接速度)。现在我不想让笔记本电脑一直开着,想要暂停当前的同步并稍后恢复。 所以,我搜索了一下,并发现可以使用以下方法暂停当前的下载/同步: ctrl+C ctrl+Z 只需关闭终端(它将自动在下次恢复下载) 因此,我试图使用ctrl+c,下载停止了。然后我尝试使用“fg”进行恢复,但它没有重新开始。 我得到的错误是: bash: fg: current: no such job 谁能帮我解决这个问题?我可以关闭计算机并在稍后使用repo sync继续吗?

好的,我尝试使用“repo sync”再次同步,然后使用“ctrl+Z”暂停操作。现在我可以使用“fg”恢复。 但问题仍然存在:“同步是否从停止的地方开始”? - Chinmay Jade
你能提供一个链接,描述暂停同步过程的步骤吗? - Yury
(https://dev59.com/YE7Sa4cB1Zd3GeqP0xwq) - Chinmay Jade
从这个链接中我看到你不能暂停同步。你只能尝试逐个同步AOSP中的项目。 - Yury
好的,从我过去四天的经验来看,我得出一个结论,即无法暂停repo同步。 我的同步在不同的进度水平上几次卡住,然后就再也无法恢复。我不得不手动重新启动同步。但这会将进度推回到33%,每次都要从这个数字开始!(非常非常烦人!)唉... 但奇怪的是,已下载文件夹的大小一直在增加...我想知道为什么? - Chinmay Jade
也许33%的情况是当一个大型Git项目被下载(或多个项目)。之后不会再下载另一个大型项目,而是从这33%开始进行仓库同步。 - Yury
2个回答

23

您无法真正地“暂停”repo sync,但是如果使用Ctrl-C中止它,然后稍后再次运行它,它将有效地从中断的地方继续进行。虽然它会重新开始处理项目列表,并且可能仍会获取一些已经处理过的项目的新数据,但是因为它之前获取的所有数据仍然存在于隐藏的.repo目录中,所以应该可以快速处理这些项目。

请参见此答案,其中对repo initrepo sync的工作方式进行了极好的描述。

请注意,您不会立即看到已获取的任何项目,因为repo sync在完成克隆.repo/projects中的所有git存储库之前,不会创建和填充您的工作目录。


1

如果你想进行 repo 同步而不挂起,可以使用以下命令:

nohup repo sync &

并退出ssh/telnet/终端会话。

对于磁盘空间增加的问题,只需定期执行以下操作:

cd /path/to/repo
rm -f `find . -name '*tmp_pack*'`

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接