- 起因: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