.repo目錄下有什么
安裝好repo,在本地workspace(空目錄)上執(zhí)行repo init命令后,會從遠(yuǎn)程把manifests和repo這兩個git庫拷貝到本地,并自動都放在.repo子目錄中,如圖:(https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/png/32092/b35b011f87d7a920.png)
.repo目錄下保存了項目的所有信息,所以要拷貝一個項目時,只是需要拷貝這個目錄就可以了。repo支持從本地已有的.repo中恢復(fù)原有的項目。.repo下的主要內(nèi)容有:.repo├── manifests # 一個git庫,包含default.xml文件,用于描述repo所管理的git庫的信息├── manifests.git # manifest這個git庫的實體,manifest/.git目錄下的所有文件都會鏈接到該目錄├── manifest.xml # 實際使用的xml的軟鏈接。對應(yīng)的是在manifests目錄下└── repo # 一個git庫,包含repo運(yùn)行的所有腳本
manifest配置說明
我們來看一下manifest.xml的配置,以錢包在用的一個配置為例進(jìn)行分段說明:
(https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/png/32092/07256c1f36f79cfe.png)1、manifest-server:這里定義了manifest的倉庫地址;2、remote:描述了遠(yuǎn)程倉庫的基本信息。name是遠(yuǎn)程倉庫的名稱,fetch是項目名稱的前綴;

(https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/png/32092/8c3c94ca4087da63.png)1、后面全部都是<project>標(biāo)簽了。每一個repo管理的git庫,就是對應(yīng)到一個 project 標(biāo)簽2、path描述的是項目相對于遠(yuǎn)程倉庫URL的路徑,同時將作為對應(yīng)的git庫在本地代碼的路徑;3、name用于定義項目名稱,命名方式采用的是整個項目URL的相對地址。比如 對應(yīng)的就是gitlab.alipay-inc.com/iwallet/android_portal 倉庫,這個倉庫下載后,存放在workspace下的portal目錄中;