.repo目录下有什么
安装好repo,在本地workspace(空目录)上执行repo init命令后,会从远程把manifests和repo这两个git库拷贝到本地,并自动都放在.repo子目录中,如图:(https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/png/32092/b35b011f87d7a920.png)
.repo目录下保存了项目的所有信息,所以要拷贝一个项目时,只是需要拷贝这个目录就可以了。repo支持从本地已有的.repo中恢复原有的项目。.repo下的主要内容有:.repo├── manifests # 一个git库,包含default.xml文件,用于描述repo所管理的git库的信息├── manifests.git # manifest这个git库的实体,manifest/.git目录下的所有文件都会链接到该目录├── manifest.xml # 实际使用的xml的软链接。对应的是在manifests目录下└── repo # 一个git库,包含repo运行的所有脚本
manifest配置说明
我们来看一下manifest.xml的配置,以钱包在用的一个配置为例进行分段说明:
(https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/png/32092/07256c1f36f79cfe.png)1、manifest-server:这里定义了manifest的仓库地址;2、remote:描述了远程仓库的基本信息。name是远程仓库的名称,fetch是项目名称的前缀;
(https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/png/32092/8c3c94ca4087da63.png)1、后面全部都是<project>标签了。每一个repo管理的git库,就是对应到一个 project 标签2、path描述的是项目相对于远程仓库URL的路径,同时将作为对应的git库在本地代码的路径;3、name用于定义项目名称,命名方式采用的是整个项目URL的相对地址。比如 对应的就是gitlab.alipay-inc.com/iwallet/android_portal 仓库,这个仓库下载后,存放在workspace下的portal目录中;
网友评论