本周日【珠海源创会】一起聊聊:PingCAP分布式事务、支付宝移动端实践、GSBN技术框架选型,点此报名占座

way / way

Watch 1 Star 1 Fork 0
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
暂无描述 展开 收起

way 最后提交于 更新 default.xml
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

mainfest

先下载repo,自备梯子(本工程已上传该文件repo):

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

初始化本地仓库:

$ repo init -u https://gitee.com/way/way -b repo 
$ repo sync

如果提示以下信息,请自备提子翻墙吧(本工程已上传该文件clone.bundle):

warning: gpg (GnuPG) is not available.
warning: Installing it is strongly encouraged.
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [Errno 8] nodename nor servname provided, or not known

或者有另外一种方式,先下载本工程的clone.bundle 并放到指定目录,比如我的在~/bin,然后执行以下命令即可:

$ repo init -b repo https://gitee.com/way/way -b repo --repo-url ~/bin/clone.bundle 

关于default.xml文件:

Android使用repo来管理多个git项目。它需要一个manifestXML文件来指示这些git项目的属性。

repo manifest XML可以包含下面的元素。

  • manifest: 最顶层的XML元素。
  • remote: 设置远程git服务器的属性,包括下面的属性
  • name: 远程git服务器的名字,直接用于git fetch, git remote 等操作
  • alias: 远程git服务器的别名,如果指定了,则会覆盖name的设定。在一个manifest中,name不能重名,但alias可以重名。
  • fetch: 所有projects的git URL 前缀
  • review: 指定Gerrit的服务器名,用于repo upload操作。如果没有指定,则repo upload没有效果。

Example:

<remote fetch="ssh://git.example.com" name="test"review="gerrit.example.com"/>
  • default元素:设定所有projects的默认属性值,如果在project元素里没有指定一个属性,则使用default元素的属性值。
  • remote: 之前定义的某一个remote元素中name属性值,用于指定使用哪一个远程git服务器。
  • revision: git分支的名字,例如master或者refs/heads/master
  • sync_j: 在repo sync中默认并行的数目。
  • sync_c: 如果设置为true,则只同步指定的分支(revision 属性指定),而不是所有的ref内容。
  • sync_s: 如果设置为true,则会同步git的子项目

Example:

<default remote="main" revision="platform/main"/>
  • project元素:指定一个需要clone的git仓库。
  • name: 唯一的名字标识project,同时也用于生成git仓库的URL。格式如下:
    ${remote_fetch}/${project_name}.git
  • path: 可选的路径。指定git clone出来的代码存放在本地的子目录。如果没有指定,则以name作为子目录名。
  • remote: 指定之前在某个remote元素中的name。
  • revision: 指定需要获取的git提交点,可以是master, refs/heads/master, tag或者SHA-1值。
  • 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分支可以找到一个SHA1。用于同步revision锁定的manifest(-c 模式)。该模式可以避免同步整个ref空间。
  • annotation: 可以有多个annotation,格式为name-value pair。在repo forall 命令中这些值会导入到环境变量中。
  • remove-project: 从内部的manifest表中删除指定的project。经常用于本地的manifest文件,用户可以替换一个project的定义。

Example:

<project groups="aosp" path="device/driver/armv7" revision="600aab270ce712b62b268055737cabcded59bf04"/>

项目点评 ( 0 )

你可以在登录后,发表评论

搜索帮助

12_float_left_people 12_float_left_close