首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

gerrit清单库配备

2012-08-10 
gerrit清单库配置最新repo地址 curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo ~/bin/r

gerrit清单库配置
最新repo地址 curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

gerrit清单库是用来配合repo使用的。清单库列出了gerrit服务器上其他的仓库。
客户端通过repo脚本下载了清单库以后,脚本会解析清单库中列出的长裤并自动下载
所以repo init以后,再repo sync 可以一次性下载所有库。这里说的“所有库”,即清单库中的xml列出的库。

先下载git clone https://android.googlesource.com/tools/repo
将repo.git push到自己的gerrit服务器。

创建一个空的清单库manifest.git,清单库里面只有xml文件,没有其他东西
在清单库中创建一个default.xml文件
将manifest.git push到自己的gerrit服务器。

需要说明的是清单库的名字和xml的名字是可以随便取的。后面在repo的使用过程中会指定他们名称。但是如果xml的名字使用default.xml的话,在使用repo的时候就不需要指定名称,repo会默认使用default.xml

这时服务器上就多了2个库:
repo.git
manifest.git

下面是清单库中default.xml的内容

<?xml version="1.0" encoding="UTF-8"?><manifest>  <remote fetch="ssh://gerrituser@192.168.222.149:29418" name="remote_name1" review="192.168.222.1:8081"/>  <default remote="remote_name1" revision="master" />  <project name="test" path="android/packages" >    <copyfile dest="a_in_root.txt" src="a_in_test.txt"/>  </project></manifest>


其中project标签属性name的值test是为自己的gerrit服务器中的仓库名称
比如建立仓库的时候使用的是
ssh gerrt_name gerrit create-project test1
那么这个地方project标签属性name的值就为test1
project标签属性path表示客户端签出代码的时候使用的根目录名称
copyfile表示在代码下载下来之后将test仓库的src指定的文件复制到dest路径下。


而default标签中的revision的值为gerrti服务器上的分支名称或者commitid


配置好以后使用repo下载
$mkdir code
$cd code
$repo init -u ssh://user@ip:29418/manifest.git -m default.xml --repo-url=ssh://user@ip:29418/tools/repo.git --repo-branch=master --no-repo-verify
$repo sync
$ls
ls之后就会看到android/packages目录

热点排行