gerrit清单库配置

Posted on Posted in 介绍及安装说明, 使用说明

最新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的内容 

Java代码  收藏代码

  1. <?xml version=“1.0” encoding=“UTF-8”?>  
  2. <manifest>  
  3.   <remote fetch=“ssh://gerrituser@192.168.222.149:29418” name=“remote_name1” review=“192.168.222.1:8081”/>  
  4.   
  5.   <default remote=“remote_name1” revision=“master” />  
  6.   
  7.   <project name=“test” path=“android/packages” >  
  8.     <copyfile dest=“a_in_root.txt” src=“a_in_test.txt”/>  
  9.   </project>  
  10.   
  11. </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目录