1.指定项目代码库中迭代列出全部ProductList(.git)到pro.log文件中

repo forall -c 'echo $REPO_PROJECT' | tee pro.log

pro.log文件内容如下:(这里以高通源码部分project为例)

platform/abi/cpp
platform/art
platform/bionic
kernel/lk
platform/bootable/recovery
platform/build
platform/build/blueprint
platform/build/kati
platform/build/soong

.......

2.用 sed 命令在每一行的前面都加上相同的字符串

sed 's/^/ssh -p 29418 username@服务器IP gerrit create-project /' pro.log > pro.sh

pro.sh文件内容如下:

ssh -p 29418 username@IP gerrit create-project platform/abi/cpp (在gerrit上创建新的project)
ssh -p 29418 username@IP gerrit create-project platform/art
ssh -p 29418 username@IP gerrit create-project platform/bionic
ssh -p 29418 username@IP gerrit create-project kernel/lk
ssh -p 29418 username@IP gerrit create-project platform/bootable/recovery
ssh -p 29418 username@IP gerrit create-project platform/build
ssh -p 29418 username@IP gerrit create-project platform/build/blueprint
ssh -p 29418 username@IP gerrit create-project platform/build/kati
ssh -p 29418 username@IP gerrit create-project platform/build/soong

3.将pro.sh授予可执行权限

chmod 777 pro.sh

4.执行pro.sh文件,在服务器上的gerrit/review_site/git 目录下生成空的仓库目录

./pro.sh

5.将所有的 project push 到服务器上的空的 git 仓库里,并输出push日志到push.log

(repo forall -c 'pwd && git push HostName:/$REPO_PROJECT HEAD:refs/heads/BranchName')2>&1 | tee push.log

6.Push OK的提示

To test:/amss/rpm_proc
[new branch] HEAD -> BranchName
/home/XXX/w0927/BranchName/slpi_proc
remote: Processing changes: refs: 1, done

7.查漏

通过命令 grep -iE "remote: Processing changes: refs: 1, done " push.log | wc -l

说明:ProjectList的count数(也就是pro.log的行数)与这里相等才是全部push到服务器上了

8.出错的project重新push

通过查询 log 发现/frameworks/base 这个 project push 出错,错误的日志在服务器的/review_site/logs/error_log 里有

git push ssh://HostName/frameworks/base HEAD:refs/heads/BranchName

 

推送一个已有的代码到新的 gerrit 服务器的更多相关文章

  1. 【Repo】推送一个已有的代码到新的 gerrit 服务器

    1.指定项目代码库中迭代列出全部ProductList(.git)到pro.log文件中 repo forall -c 'echo $REPO_PROJECT' | tee pro.log 命令解读: ...

  2. 推送通知/传感器/UIDynamic仿真(推送通知已适配iOS10)

    推送通知/传感器/UIDynamic 一.推送通知 1.推送通知简介 什么是推送通知 此处的推送通知与NSNotification没有任何关系 可以理解为,向用户推送一条信息来通知用户某件事情 作用: ...

  3. oc学习之路----APNS消息推送从证书到代码(2015年4月26号亲试可用)

    前言:看这篇博客之前要准备:首先的有一个99刀的个人开发者账号或者199刀的企业开发者账号,其次你用的是apns消息推送,(本人之前四处打听有没有其他消息推送的方法:收获如下:首先如果想做到apns的 ...

  4. 一文了解服务端推送(含JS代码示例)

    常用的服务端推送技术,包括轮询.长轮询.websocket.server-sent-event(SSE) 传统的HTTP请求是由客户端发送一个request,服务端返回对应response,所以当服务 ...

  5. 信鸽推送.net 服务端代码

    //推送代码 private void send() { #region 安卓推送 XingeApp app = new XingeApp("accessId", "se ...

  6. 推送一个docker 使用阿里docker hub

    阿里docker hub 地址 打开容器镜像服务页https://cr.console.aliyun.com/cn-qingdao/namespaces 这个是我的私有库 配置加速 我这边用的也是阿里 ...

  7. $Django 支付宝支付,微信服务号推送消息 (测试需要把应用程序部署到服务器上)

    一 支付宝支付 大概 支付宝支付 正式环境:需要用营业执照去申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.ht ...

  8. python3 三行代码基于HTTP2完美实现APNS推送【详解】

    第一次做苹果APNS(Apple Push Notification service)推送,关于APNS推送原理以及证书的获取方式网上已经有许多资料,在此不做过多赘述,需要注意的是证书分为测试证书和正 ...

  9. 链接提交-js代码推送进化版

    百度站长平台提供链接索引的自动提交JS脚本已经有一段时日了.用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用.安装代码的页面在任意平台(浏览器.微信.微博 ...

随机推荐

  1. 小白该怎么学《马哥Linux从入门到精通》

    首先,必须说明我已经不是小白啦~现在的我在国内某独角兽担任运维工程师,带着一个四人小团队,在运维方面也算是有些心得,勉强过来回答一下这个问题,就算抛砖引玉了. 所有人都是从小白阶段过来的,我=也经历过 ...

  2. Lucene实战之初体验

    前言 最早做非结构化数据搜索时用的还是lucene.net,一直说在学习java的同时把lucene这块搞一搞,这拖了2年多了,终于开始搞这块了. 开发环境 idea2016.lucene6.0.jd ...

  3. 理解云计算的(IaaS PaaS SaaS)

    本文不经允许,不得转载! 云计算技术已经慢慢普及了.我们做技术的有必要学习云计算技术. IaaS:Infrastructure-as-a-Service(基础设施即服务)云计算到来之前,很多企业都是自 ...

  4. 谷歌开源图片压缩算法Guetzli实测体验报告

    谷歌大神又出开源新技术啦,这次是对JPEG格式的图片采用全新算法重新编码,输出的图片还是JPEG但是图片大小明显缩小,而质量不但没有损失,甚至还更加优化,速速来体验一把. 一.环境安装 下载谷歌开源软 ...

  5. cuda编程学习1——hello world!

    将c程序最简单的hello world用cuda编写在GPU上执行,以下为代码: #include<iostream>using namespace std;__global__ void ...

  6. centos mail使用外部SMTP发送邮件

    1.安装mailx yum install mailx -y 安装好后,编辑配置文件 mailx -V 12.4 7/29/08  <<mailx的版本号 rpm -qc mailx /e ...

  7. 一个请求中,ADF、JSF究竟做了哪些工作

    在Oracle ADF开发中,一个请求发生后,经过ADF处理后,我们可以很快得到响应页面,但在请求过程中ADF框架在背后究竟做了什么东西呢?今天让我们一起来了解下,ADF.JSF是基于组件模型的,不同 ...

  8. Linux学习之sudo命令

    在学习Linux用户管理时,我们不得不需要了解一个命令,那就是sudo.sudo的作用是切换身份,以其他身份来执行命令. 那么为什么在Linux系统中我们需要来切换身份呢?原因有以下几个方面 1.养成 ...

  9. cookie设置今日不提醒功能

    需求:为了实现 退出页面时 [启动今日不提醒]的功能.采用纯js.cookie来实现. /****今日不提醒 start *****/ var userid = <%=UserId %>; ...

  10. org.springframework.beans.factory.BeanDefinitionStoreException异常

    1.下面是我遇到的异常信息: 2017-03-25 18:01:11,322 [localhost-startStop-1][org.springframework.web.context.Conte ...