上传android镜像到gerrit,将安卓代码导入gerrit

#配置default.xml

创建*** all/manifest.gitt ***仓库:

ssh -p 29418 admin@192.168.130.10 gerrit create-project --empty-commit all/manifest

clone 到本地:

git clone ssh://admin@192.168.130.10:29418/all/manifest.git

配置default.xml:

cd manifest

vi default.xml

default内容如下:

... ...

project标签中的:

name: 唯一的名字标识project,同时也用于生成git仓库的URL。格式如下:

r e m o t e f e t c h / {remote_fetch}/remotef​etch/{project_name}.git

path: 指定git clone出来的代码存放在本地的子目录。如果没有指定,则以name作为子目录名。

上传到远程仓库:

git add .

git comm -am "add default.xml"

git push origin master

#创建GIT仓库

进入Android源码根目录,新建脚本文件:

cd src

vi gerrit_create.sh

gerrit_create.sh脚本如下:

LOCAL_PATH=`pwd`

MANIFEST_XML_FILE=$LOCAL_PATH/../manifest/default.xml

USER_NAME="admin"

SERVER_IP="192.168.130.10"

SERVER_PORT="29418"

OUTPUT_PROJECT_LIST_FILE_NAME=$LOCAL_PATH/project_list_name

OUTPUT_PROJECT_LIST_FILE_PATH=$LOCAL_PATH/project_list_path

function getNameAndPath()

{

echo > $OUTPUT_PROJECT_LIST_FILE_NAME

echo > $OUTPUT_PROJECT_LIST_FILE_PATH

while read LINE

do

command_line=`echo $LINE | grep "> $OUTPUT_PROJECT_LIST_FILE_NAME

echo "$reposity_path" >> $OUTPUT_PROJECT_LIST_FILE_PATH

fi

fi

done < $MANIFEST_XML_FILE

}

function creatEmptyGerritProject()

{

for i in `cat $OUTPUT_PROJECT_LIST_FILE_NAME`;

do

echo $i

echo "ssh -p $SERVER_PORT $USER_NAME@$SERVER_IP gerrit create-project --empty-commit $i"

ssh -p $SERVER_PORT $USER_NAME@$SERVER_IP gerrit create-project --empty-commit $i

done

}

function removeFiles()

{

rm -rf $LOCAL_PATH/project_list_name

rm -rf $LOCAL_PATH/project_list_path

}

getNameAndPath

creatEmptyGerritProject

removeFiles

运行脚本,创建git仓库:

. gerrit_create.sh

#上传代码到远程仓库

新建脚本gerrit_push.sh

vi gerrit_push.sh

内容如下:

LOCAL_PATH=`pwd`

MANIFEST_XML_FILE=$LOCAL_PATH/../manifest/default.xml

USER_NAME="admin"

SERVER_IP="192.168.130.10"

SERVER_PORT="29418"

function pushLocalToRemote()

{

while read LINE

do

cd $LOCAL_PATH

command_line=`echo $LINE | grep "

运行脚本,push代码

. gerrit_push.sh

#下载代码导本地

mkdir -p ../des

cd ../des

repo init -u ssh://admin@192.168.130.10:29418/all/manifest.git

repo sync -f -j8

#提交代码到远程仓库

增加 ‘commit-msg’ hook:

curl -Lo .git/hooks/commit-msg http://review.example.com/tools/hooks/commit-msg

将 review.example.com 换成自己的IP。

推送一个change:

git add ...

git commit 。。。。

git push ssh://sshusername@hostname:29418/projectname(origin) HEAD:refs/for/branchname

推送一个patch set :

git add ...

git commit --amend

git push ssh://sshusername@hostname:29418/projectname(origin) HEAD:refs/for/branchname

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值