repo manifest

repo是使用.repo/manifest.xml来管理各个小的仓库和组织代码目录结构的。

repo init -u   -b -m

所以最终结果是 .repo/manifest.xml是链接到 .repo/manifests/

manifest.xml标签属性如下

 

          alias="会覆盖name的值"

          review="repo upload的hostname,repo upload时必须指定这个值"

          fetch="所有子库的git url前缀,一般是.或.."

          #fetch是".",各个具体的代码仓库与manifest目录同级则manifests库的路径组成分别是base_url/pro1/manifests和base_url/pro1/project-name,即

          #fetch是"..",则各个具体的代码仓库的URL是base_url/project-name,即与manifest上一级目录同级

          revision="会被default中的revision覆盖">

 

            revision="branch"

            dest-branch="未设置则用revision的值"

            sync-j=""  #如果repo sync 没有加-j选项,则使用这里指定的值

            sync-c="true" #等同于 repo sync -c选项,sync当前revision

            sync-s="true" #sync子项目>

 

            path="项目的路径,如果没有path,则用name的值作为path"

            remote=""

            revision=""

            dest-branch="repo upload 所上传的分支"

            groups="a,b"

            sync-c="true"

            sync-s="true"

            upstream="sha1,repo sync -c ,则sync这个指定的sha1"

            clone-depth="会被--depth覆盖"

            force-path="根据path或name值创建本地的mirror库,只有使用--mirror的时候这个才生效"

            >

 

   

可以通过.repo/local_manifests/*.xml,来补充manifest库中没有处理的库,语法同上。如果.repo/local_manifest.xml存在,则会优先加载这个xml再加载local_manifests/*.xml。

repo manifest的详细格式参考:https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md

你可能感兴趣的:(repo manifest)