第一步,安装repo。
首先下载repo的引导脚本,该引导脚本只是一个帮助完成整个repo程序继续下载和加载的工具。可以使用wget,curl甚至浏览器从
http://commondatastorage.googleapis.com/git-repo-downloads/repo上下载。把repo脚本设置为可执行,并复制到可执行的路径中:
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo>~/bin/repo
$ chmod a+x ~/bin/repo
第二步,repo和清单库的初始化。
完成上述第一步之后,建立一个工作目录用于存储下载的源码。进入该工作目录执行repo init –u <url>,完成repo完整的下载及项目清单版本库(manifest.git)的下载。
$ mkdir working-directory-name
$ cd working-directory-name
$ repo init -u http://chromium.googlesource.com/chromiumos/manifest.git
命令repo init要完成如下操作:
1,完成repo这一工具的完整下载,因为现在有的只是repo的引导程序,初始化操作会从chromium源码处下载repo.git到当前目录下的.repo/repo目录下。
2,下载chromium的清单库manifest.git(地址来自于-u参数)。
3,下载的清单文件库位于.repo/manifest.git中,本地下载到.repo/manifests。清单文件.repo/manifest.xml只是符号链接,指向.repo/manifests/default.xml。
4,在初始化下载过程中会询问用户的姓名和邮件地址,若和git默认的用户名、邮件地址不同,则记录到.repo/manifests.git库的config文件中。
第三步,同步下载项目源码。
repo sync
如果下载失败只需重复执行repo sync即可。通常项目比较大,全部下载需要很长时间,若只是对其中的部分感兴趣的话可以在repo sync后面跟上感兴趣部分的项目名称,项目名称来自于.repo/manifest.xml文件中project元素的name属性值。
repo.git的下载:
在repo引导脚本的第五行REPO_URL中定义了默认的repo.git的版本库位置及要检出的默认分支
REPO_URL = ‘http://gerrit.googlesource.com/git-repo’
REPO_REV = ‘stable’
Android源码的则是ERPO_URL = ‘git://android.git.kernel.org/tools/repo.git’
若不想从默认URL地址中获取repo或不想获取稳定版(stable分支)的repo,可以在repo init子命令中通过下面的参数覆盖默认的设置,从指定的源地址下载repo代码库:
--repo-url,用于设定repo的版本库地址
--repo-branch,用于设定要检出的分支
--no-repo-verify,设定不要对repo的里程碑签名进行严格的验证
执行完repo init之后,工作目录中只有一个.repo目录,该目录中包含repo实现的repo库和manifest库以及一个链接到清单库中default.xml文件的符号链接manifest.xml,repo命令下载源码时会参考这个清单文件。