如何恢复repo同步

时间:2010-05-30 03:05:08

标签: android repository

有人可以提一下如何恢复同步命令吗?

我按照以下步骤操作: $ repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b eclair $ repo sync

同步耗时超过6小时,由于带宽不足,我不得不自行终止同步。有什么办法可以恢复上次会话的同步吗?我可以看到创建了以下文件夹:

bionic.git 启动 build.git cts.git 还有更多....

我一天只能使用6小时的免费带宽,而且我必须在这段时间内进行同步。 任何帮助都非常感谢。

4 个答案:

答案 0 :(得分:6)

“repo”由176个“项目”组成,其中一些非常大(> 100k的对象) 如果某些项目已完全下载,您只能恢复同步,但其他项目则不能。 但是你无法恢复一个大项目的中断同步。这是一个Git手册:

  

克隆大型存储库时(例如   作为KDE,Open Office,Linux内核)   目前无法重启   一个中断的克隆。可能需要   用户在相当长的时间   下载一个小管道的结尾   数据,以及克隆是否被中断   在用户当前需要的中间   从头开始重新开始   再试一次。对于一些用户,这可能   无法克隆一个大的   库中。

所以,如果你真的想把这些文件传输到你的机器上 - 你最好从网络中访问一些shell,在那里传输文件,然后用一些可重启的方法同步你的本地PC和那个远程shell,例如RSync。

甚至可以远程压缩一个大档案中的所有内容,并使用您喜欢的下载管理器将其下载到您的计算机上。

答案 1 :(得分:4)

如上所述,repo用于管理几个较小的项目(其中一些非常大)。但您不必重新下载已完成下载的项目。但是,您必须重新启动正在下载的项目。

输入:

repo sync

再次,它将检查您已经下载的项目是否有任何更新,如果是,请下载它们,然后从下一个下载的项目开始。如果一个项目花费的时间超过你指定的下载时间(听起来像是6小时),你需要找到一个更快/不同的连接来下载它。

答案 2 :(得分:3)

一个选项是一次同步一个或两个项目。

repo sync Proj1 Proj2

通过这种方式,您可以控制同步的内容以及是否完全完成。要获得项目的完整列表,请浏览 .git 目录,并在每个项目上手动执行repo sync

答案 3 :(得分:3)

我遇到了同样的问题所以我创建了一个脚本,它完全按照之前的说法执行,一次下载1个项目,直到完成所有操作。

无需解释您只需要执行repo init,然后在创建.repo的文件夹中运行此脚本。

它将下载所有项目并创建一个记录每个项目状态的日志。

如果发生错误,将会记录。

如果再次运行该脚本,它将读取日志文件并尝试首先下载“错误”项目。

请看一下: http://shellswissknife.blogspot.com/2013/03/long-repo-sync.html