Android项目配置

之前的项目使用的是Git+Gerrit来管理仓库,现在客户提出新的需求,所以需要搭建repo+Gerrit的仓库。

准备工作:

1、repo下载,repo需要从Google服务器下载一些脚本以及配置环境,翻墙是个问题

2、项目列表配置文件,之前的仓库只有一个,因此管理起来很容易,现在要做repo管理,一共是450多个project,涉及到projectList的整理

3、Gerri权限t配置,之前也是配置在一个仓库里面,现在有多个project,配置起来是一个问题

4、要做codereview,因为有400多个project,因此需要把gitreview文件分别写入到每个project中


一、repo配置

repo需要从Google服务器上去下载,然后配置到自己的环境中,如果环境支持翻墙的话,那么可以直接配置,如果不支持翻墙,那么就要先下载脚本和文件到本地,把本地服务器作为repo服务器。
情况一,服务器不能翻墙:
需要下载repo脚本:
找一个可以翻墙的机器,下载repo脚本:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo
 
 
 
下载配置需要的文件:
git clone https://gerrit.googlesource.com/git-repo git-repo.git
把这两个文件放到~/bin/目录下,修改权限chmod a+x ~/bin/repo,修改repo脚本,更改其中的REPO_URL = 'https://gerrit.googlesource.com/git-repo',把这个链接更改为git-repo.git在你本地服务器的地址,然后copy repo脚本到git-repo.git目录下覆盖原来的repo脚本,这相当于把git仓库初始化的地址从Google服务器上转移到了你的本地服务器~
添加这个目录到环境变量中,编辑.bashrc文件,添加:
alias repo="~/bin/repo"
export PATH=~/bin:$PATH
使这个配置生效:source .bashrc
检测配置是否生效,repo init如果提示没有这个命令,则表示配置没有成功。

情况二,服务器可以翻墙:
仍然下载repo脚本:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo
修改权限chmod a+x ~/bin/repo,这种情况就不需要配置git-repo仓库了,因为现在可以直接从Google服务器下载文件初始化你的本地仓库。
克隆仓库:
./repo init -u 仓库地址

二、配置project list


这个project list需要从Google上下载一份原始的,然后根据自己项目的情况配置,大体结构如下:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote  name="origin"
           fetch=".."
           review="Gerrit仓库地址" />
  <default revision="master"
           remote="origin"
           sync-j="1" />

  <project path="build" name="platform/build"  >
    <copyfile src="core/root.mk" dest="Makefile" />
  </project>
  <project path="abi/cpp" name="platform/abi/cpp"  />
  <project path="art" name="platform/art" />
remote中的name表示远程仓库的名称,fetch表示仓库路径,如果不加两个..符号会报错;review是指默认的仓库地址;sync-j是指使用repo命令时默认占用几个线程,sync-4就是指占用4个线程;revision是指默认的分支,设置这个以后,使用repo sync同步代码时会默认同步这个分支的代码;
project path指实际的仓库路径,name是指在Gerrit或者gitlab上面显示的仓库名称。
按照这种格式,可以自行配置自己的项目仓库,比如有30个模块,那么就可以把一个项目分割成30个单独的仓库,再通过repo整合起来,这样可以大大降低git使用过程中发生的冲突,提高生产效率。

三、根据project list创建Gerrit仓库

repo通过一个叫manifest的仓库来管理其余的多个仓库,所以首先要在Gerrit上面创建manifest仓库:
ssh -p 29418(端口) Gerrit地址 gerrit create-project --parent ProjectBase --empty-commit manifest

然后把这个仓库拉到本地:

mkdir manifest;cd manifest
git clone ssh://Gerrit地址/manifest
git pull origin master

添加修改好的project list,push到Gerrit上面,默认的default.xml名称:

git add -A .
git commit -m "initial manifest"
git push origin master









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值