网站开发开发需求文档,无锡谁做网站好,门户媒体是指什么,网站优化 情况manifests是个啥 在Repo中manifests描述了Repo客户端的结构#xff0c;也就是可以从manifests中知道各个模块的代码应该从代码管理仓库当中哪个位置去获取。 manifests的基本结构是一个Git存储库#xff0c;在顶层目录中持有一个default.xml文件。 由于m… manifests是个啥 在Repo中manifests描述了Repo客户端的结构也就是可以从manifests中知道各个模块的代码应该从代码管理仓库当中哪个位置去获取。 manifests的基本结构是一个Git存储库在顶层目录中持有一个default.xml文件。 由于manifests保存在Git存储库中在repo sync期间会同时将manifests的版本拉到最新 manifests格式 !DOCTYPE manifest [!ELEMENT manifest (notice?,remote*,default?,manifest-server?,remove-project*,project*,extend-project*,repo-hooks?,include*)!ELEMENT notice (#PCDATA)!ELEMENT remote EMPTY!ATTLIST remote name ID #REQUIRED!ATTLIST remote alias CDATA #IMPLIED!ATTLIST remote fetch CDATA #REQUIRED!ATTLIST remote pushurl CDATA #IMPLIED!ATTLIST remote review CDATA #IMPLIED!ATTLIST remote revision CDATA #IMPLIED!ELEMENT default EMPTY!ATTLIST default remote IDREF #IMPLIED!ATTLIST default revision CDATA #IMPLIED!ATTLIST default dest-branch CDATA #IMPLIED!ATTLIST default upstream CDATA #IMPLIED!ATTLIST default sync-j CDATA #IMPLIED!ATTLIST default sync-c CDATA #IMPLIED!ATTLIST default sync-s CDATA #IMPLIED!ATTLIST default sync-tags CDATA #IMPLIED!ELEMENT manifest-server EMPTY!ATTLIST manifest-server url CDATA #REQUIRED!ELEMENT project (annotation*,project*,copyfile*,linkfile*)!ATTLIST project name CDATA #REQUIRED!ATTLIST project path CDATA #IMPLIED!ATTLIST project remote IDREF #IMPLIED!ATTLIST project revision CDATA #IMPLIED!ATTLIST project dest-branch CDATA #IMPLIED!ATTLIST project groups CDATA #IMPLIED!ATTLIST project sync-c CDATA #IMPLIED!ATTLIST project sync-s CDATA #IMPLIED!ATTLIST project sync-tags CDATA #IMPLIED!ATTLIST project upstream CDATA #IMPLIED!ATTLIST project clone-depth CDATA #IMPLIED!ATTLIST project force-path CDATA #IMPLIED!ELEMENT annotation EMPTY!ATTLIST annotation name CDATA #REQUIRED!ATTLIST annotation value CDATA #REQUIRED!ATTLIST annotation keep CDATA true!ELEMENT copyfile EMPTY!ATTLIST copyfile src CDATA #REQUIRED!ATTLIST copyfile dest CDATA #REQUIRED!ELEMENT linkfile EMPTY!ATTLIST linkfile src CDATA #REQUIRED!ATTLIST linkfile dest CDATA #REQUIRED!ELEMENT extend-project EMPTY!ATTLIST extend-project name CDATA #REQUIRED!ATTLIST extend-project path CDATA #IMPLIED!ATTLIST extend-project groups CDATA #IMPLIED!ATTLIST extend-project revision CDATA #IMPLIED!ATTLIST extend-project remote CDATA #IMPLIED!ELEMENT remove-project EMPTY!ATTLIST remove-project name CDATA #REQUIRED!ELEMENT repo-hooks EMPTY!ATTLIST repo-hooks in-project CDATA #REQUIRED!ATTLIST repo-hooks enabled-list CDATA #REQUIRED!ELEMENT include EMPTY!ATTLIST include name CDATA #REQUIRED
]manifest 配置的顶层元素 remote 可以指定一个或者多个远程仓库每一个remote元素都指定了项目上传或者下载的地址。 name 必填 指定该remote元素的名称该值会被各个项目中.git/config引用用于git pull、 git fetch等操作。alias 设定name元素的别名name元素在manifests中必须是唯一的但是该元素可以重复出现在manifests中。fetch 必填 该remote元素的Git URL前缀Gitlab中有群组也就是群组的链接例https://android.googlesource.com/pushurl 用于git push时推送的URL前缀如果没有指定那就是使用fetch元素的值。review 指定gerrit的服务器名用于repo upload操作。如果没有指定则repo upload没有效果。revision Git 分支的名称例如master或refs/heads/master。具有自己版本的遥控器将覆盖默认版本。 default 设定所有projects的默认属性值如果在project元素里没有指定一个属性则使用default元素的属性值。 remote 远程服务器的名字remote元素的name元素project元素没有指定name则使用该值。revision 可以指定分支或者标签如果project元素里没有指定就用这里的值。dest-branch Git分支的名称例如master。如果没有设置自己的目标分支的project元素将继承此值。如果未设置此值则项目将默认使用版本。upstream Git ref的名称其中可以找到sha1。在-c模式下同步锁定修订manifests时使用以避免必须同步整个ref空间。未设置自身上游的项目元素将继承此值。sync-j repo sync时默认并行的核数等同于 repo sync -j。sync-c 设置为 true 时仅同步指定的 Git 分支而不是整个 ref 空间。如果project元素没有指定sync-c元素则使用此值。sync-s 设置为true时同时同步子项目。sync-tags 将其设置为false则只同步给定的Git分支在revision属性中指定而不同步其他ref标签。 manifest-server 它的url属性用于指定manifest服务的URL通常是一个XML RPC 服务 project 单独Git 项目 name 必填 项目的名称用于和remote元素下的fetch元素值合成Git URL。path clone到本地的目录如果没有指定则在name元素值的文件夹下。remote 远程服务器的名字remote元素的name元素。revision 指定分支或者标签分支refs/heads/master标签refs/tags/tagdest-branch Git分支的名称例如master。groups 列出project所属的组以空格或者逗号分隔多个组名。所有的project都自动属于all组。每一个project自动属于name:‘name’ 和path:path’组。例如它自动属于default, name:monkeys, and path:barrel-of组。如果一个project属于notdefault组则repo sync时不会下载sync-c 如果设置为true则只同步指定的分支(revision 属性指定)而不是所有的ref内容。sync-s 如果设置为true则会同步git的子项目upstream Git ref的名称其中可以找到sha1。在-c模式下同步锁定修订manifests时使用以避免必须同步整个ref空间。clone-depth 设置获取此项目使用的深度。如果已指定此值将覆盖命令行中通过 --depth 选项给repo init 指定值。[机器翻译]force-path 将此属性设置为 true 可强制此项目根据其路径属性如果提供而不是名称属性创建本地镜像存储库。此属性仅适用于本地镜像同步在同步客户端工作目录中的项目时将忽略它。[机器翻译] extend-project修改已命名项目的属性。 此元素在本地清单文件中最为有用可以修改现有项目的属性而不必完全替换现有的项目定义。这使得本地清单更加健壮不易受到原始清单更改的影响。[机器翻译] annotation 一个项目元素可以指定零个或多个注释元素作为其子元素。每个元素描述了一个名称-值对在“forall”命令期间该名称-值对将带有REPO__前缀导出到每个项目的环境中。此外还有一个可选属性“keep”它接受不区分大小写的值“true”默认值或“false”。此属性确定在使用清单子命令导出时是否保留注释。[机器翻译] copyfile 项目元素可以指定零个或多个copyfile元素作为子元素。每个元素描述一个源文件和目标文件对在repo同步命令执行期间将“src”文件复制到“dest”位置。[机器翻译] linkfile 这就像是复制文件并与复制文件同时运行但它不复制文件而是创建一个符号链接。 符号链接在“dest”相对于树的顶部创建并指向由“src”指定的路径该路径是项目中的一个路径。 如果“dest”的父目录缺失将自动创建。 符号链接的目标可以是一个文件或目录但它不能指向存储库客户端之外的位置。[机器翻译] remove-project 从内部的manifest表中删除指定的project。经常用于本地的manifest文件用户可以替换一个project的定义 include 通过name属性可以引入另外一个manifest文件(路径相对与当前的manifest.xml 的路径) name 引入另外一个manifest文件名 使用例子 Referencehttps://www.cnblogs.com/helloworldtoyou/p/6430545.html ?xml version1.0 encodingUTF-8?
manifestremote namegithub // 远程服务器名称是“github”后面用github表示fetchfetch.. // 获取数据的位置是..上一级目录reviewreview.cyanogenmod.org / // gerrit审核的位置remote nameprivate // 远程服务器名称“private”fetchssh://gitgithub.com / // 从”ssh://gitgithub.com下载代码remote nameaosp // aospfetchhttps://android.googlesource.com // 代码下载地址reviewandroid-review.googlesource.comrevisionrefs/tags/android-7.1.1_r6 / // 默认的git分支default revisionrefs/heads/cm-14.1 // 默认的代码下载地址remotegithub // github,表示上面的remote设置的namegithub的一项那么下载的地址fetch就是”..“sync-ctrue // 只同步指定的分支sync-j4 / // repo sync 默认的并行数目// path将代码下载到本地的build目录中
// name${remote fetch}/${project name}.git
// remote 没有指定那么久采用default地址namegithub,从”..上一层目录下载。
// 结合name的值就从../CyanogenMod/android_build.git这个仓库下载地址。查看作者github仓库就能找到android_build这个仓库。project pathbuild nameCyanogenMod/android_build groupspdk,tradefedcopyfile srccore/root.mk destMakefile //projectproject pathbuild/blueprint nameplatform/build/blueprint groupspdk,tradefed remoteaosp /project pathbuild/kati nameCyanogenMod/android_build_kati groupspdk,tradefed /project pathbuild/soong nameplatform/build/soong groupspdk,tradefed remoteaosp linkfile srcroot.bp destAndroid.bp /linkfile srcbootstrap.bash destbootstrap.bash //projectproject pathabi/cpp nameplatform/abi/cpp groupspdk remoteaosp /project pathart nameCyanogenMod/android_art groupspdk /project pathbionic nameCyanogenMod/android_bionic groupspdk /...总结 对于 manifests方便了开发者在一个项目需要控制多个代码仓库对代码版本的控制而且manifests使用的xml格式的文档对于用户而言上手简单。
https://gerrit.googlesource.com/git-repo//refs/heads/master/README.md
https://blog.csdn.net/wwwlyj123321/article/details/122361538
文章转载自: http://www.morning.fnwny.cn.gov.cn.fnwny.cn http://www.morning.ygwyt.cn.gov.cn.ygwyt.cn http://www.morning.rcwbc.cn.gov.cn.rcwbc.cn http://www.morning.fykrm.cn.gov.cn.fykrm.cn http://www.morning.prgdy.cn.gov.cn.prgdy.cn http://www.morning.hympq.cn.gov.cn.hympq.cn http://www.morning.wnnts.cn.gov.cn.wnnts.cn http://www.morning.drywd.cn.gov.cn.drywd.cn http://www.morning.mjjty.cn.gov.cn.mjjty.cn http://www.morning.kzpy.cn.gov.cn.kzpy.cn http://www.morning.gsjfn.cn.gov.cn.gsjfn.cn http://www.morning.btlmb.cn.gov.cn.btlmb.cn http://www.morning.ygztf.cn.gov.cn.ygztf.cn http://www.morning.rqfnl.cn.gov.cn.rqfnl.cn http://www.morning.tqdqc.cn.gov.cn.tqdqc.cn http://www.morning.qghjc.cn.gov.cn.qghjc.cn http://www.morning.gtylt.cn.gov.cn.gtylt.cn http://www.morning.ztcxx.com.gov.cn.ztcxx.com http://www.morning.rpjr.cn.gov.cn.rpjr.cn http://www.morning.qzfjl.cn.gov.cn.qzfjl.cn http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn http://www.morning.gnzsd.cn.gov.cn.gnzsd.cn http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn http://www.morning.yxmcx.cn.gov.cn.yxmcx.cn http://www.morning.zljqb.cn.gov.cn.zljqb.cn http://www.morning.nzxdz.cn.gov.cn.nzxdz.cn http://www.morning.cylbs.cn.gov.cn.cylbs.cn http://www.morning.liyixun.com.gov.cn.liyixun.com http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn http://www.morning.zdqsc.cn.gov.cn.zdqsc.cn http://www.morning.przc.cn.gov.cn.przc.cn http://www.morning.shuangxizhongxin.cn.gov.cn.shuangxizhongxin.cn http://www.morning.sfhjx.cn.gov.cn.sfhjx.cn http://www.morning.cykqg.cn.gov.cn.cykqg.cn http://www.morning.rnyhx.cn.gov.cn.rnyhx.cn http://www.morning.fykrm.cn.gov.cn.fykrm.cn http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn http://www.morning.yhdqq.cn.gov.cn.yhdqq.cn http://www.morning.mftzm.cn.gov.cn.mftzm.cn http://www.morning.phechi.com.gov.cn.phechi.com http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn http://www.morning.qdmdp.cn.gov.cn.qdmdp.cn http://www.morning.taipinghl.cn.gov.cn.taipinghl.cn http://www.morning.dwmtk.cn.gov.cn.dwmtk.cn http://www.morning.srtw.cn.gov.cn.srtw.cn http://www.morning.fhhry.cn.gov.cn.fhhry.cn http://www.morning.ydwsg.cn.gov.cn.ydwsg.cn http://www.morning.bhgnj.cn.gov.cn.bhgnj.cn http://www.morning.zkqwk.cn.gov.cn.zkqwk.cn http://www.morning.fdfdz.cn.gov.cn.fdfdz.cn http://www.morning.hwpcm.cn.gov.cn.hwpcm.cn http://www.morning.jspnx.cn.gov.cn.jspnx.cn http://www.morning.qkdbz.cn.gov.cn.qkdbz.cn http://www.morning.wphfl.cn.gov.cn.wphfl.cn http://www.morning.hdpcn.cn.gov.cn.hdpcn.cn http://www.morning.czxrg.cn.gov.cn.czxrg.cn http://www.morning.wtcd.cn.gov.cn.wtcd.cn http://www.morning.phlwj.cn.gov.cn.phlwj.cn http://www.morning.wzknt.cn.gov.cn.wzknt.cn http://www.morning.jxjrm.cn.gov.cn.jxjrm.cn http://www.morning.gryzk.cn.gov.cn.gryzk.cn http://www.morning.lfqtp.cn.gov.cn.lfqtp.cn http://www.morning.zfkxj.cn.gov.cn.zfkxj.cn http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn http://www.morning.prkdl.cn.gov.cn.prkdl.cn http://www.morning.rblqk.cn.gov.cn.rblqk.cn http://www.morning.sskns.cn.gov.cn.sskns.cn http://www.morning.hphfy.cn.gov.cn.hphfy.cn http://www.morning.cwknc.cn.gov.cn.cwknc.cn http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn http://www.morning.tqrbl.cn.gov.cn.tqrbl.cn http://www.morning.horihe.com.gov.cn.horihe.com http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.ntqqm.cn.gov.cn.ntqqm.cn http://www.morning.bhznl.cn.gov.cn.bhznl.cn http://www.morning.xrlwr.cn.gov.cn.xrlwr.cn http://www.morning.jpkk.cn.gov.cn.jpkk.cn http://www.morning.fpkdd.cn.gov.cn.fpkdd.cn http://www.morning.dhyzr.cn.gov.cn.dhyzr.cn http://www.morning.tgnr.cn.gov.cn.tgnr.cn