我在Android Enthusiasts上发布了这个问题,但认为这是一个错误的地方,所以我从那里删除了它并再次询问它#34;这里。
这是一个noob问题,请原谅我,但我只想清楚地理解基本概念。阅读repo帮助和Google的repo命令参考页面并没有太多启发。我从谷歌的参考页面了解了一些内容,但我还需要进一步澄清。
按照如何下载android源码的说明,我在Ubuntu shell上执行了这两个命令:(我已经关注了环境的所有先决条件。)
~/android4.2.2$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1.2
~/android4.2.2$ repo sync -j4
等了半天的回购完成下载后,我在android4.2.2目录中找到了19G的下载资料。那究竟发生了什么,以及为什么当谷歌说我应该只期待大约8G的源文件时它达到19G?
答案 0 :(得分:29)
repo
是git
的python包装脚本,其Google源page将其定义为
repo - Multiple Git Repository Tool
repo init
命令初始化当前目录中的repo。也就是说,它会下载最新的repo源和一个描述git存储库目录结构的manifest.xml
文件,并将所有这些文件存储在当前目录的.repo
子目录中。在您的情况下,您使用了一个可选的-b
参数,该参数用于选择要结帐的分支。默认情况下(即,未使用-b
参数时),使用master分支。
repo sync
将工作树更新为最新版本。也就是说,它将本地项目目录与清单文件中指定的远程存储库同步。如果是当地的
项目尚不存在,它将从远程存储库克隆新的本地目录,并设置清单中指定的跟踪分支。如果本地项目已存在,它将更新远程分支并在新远程更改之上重新定义任何新的本地更改。 -j
参数用于设置要执行的并行作业数。默认值可以在清单中定义,也可以在命令行中覆盖,如您的情况。
为什么谷歌说我只应该期待大约8G的源文件时达到19G?
这应该是因为除了源文件之外,您将从时间开始获得Android的所有历史记录:)
希望这有帮助。