- 起因:aosp由许多项目组成,android4.2就有329个project,每个项目都是一个独立的git仓库。
- Repo:创建一个aosp分支来做feature开发就需要每一个子项目创建对应的分支,手动创建很费力,所以有了Repo,自动化处理。Repoz自动化体现在创建分支,查看分支状态,提交代码,更新代码。
- Repo实际由Python脚本组成,Python脚本通过调用Git完成自己的功能。组成Repo工具的Python脚本本身也是一个Git仓库。这个Git仓库在aosp里面,焦作Repo仓库。每次执行Repo命令的时候了,Repo就进行一次更新。
- Manifest仓库:Repo是用来自动化处理aosp子项目的仓库的,子项目名称,仓库地址,aosp又是不断迭代变化的,每个版本子项目都不一样,就需要另外一个仓库来管理aosp所有子项目的仓库元信息。就是Manifest仓库
- Repo脚本:
谷歌官网有
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo