推送一个已有的代码到新的 gerrit 服务器
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 服务器的更多相关文章
- 【Repo】推送一个已有的代码到新的 gerrit 服务器
1.指定项目代码库中迭代列出全部ProductList(.git)到pro.log文件中 repo forall -c 'echo $REPO_PROJECT' | tee pro.log 命令解读: ...
- 推送通知/传感器/UIDynamic仿真(推送通知已适配iOS10)
推送通知/传感器/UIDynamic 一.推送通知 1.推送通知简介 什么是推送通知 此处的推送通知与NSNotification没有任何关系 可以理解为,向用户推送一条信息来通知用户某件事情 作用: ...
- oc学习之路----APNS消息推送从证书到代码(2015年4月26号亲试可用)
前言:看这篇博客之前要准备:首先的有一个99刀的个人开发者账号或者199刀的企业开发者账号,其次你用的是apns消息推送,(本人之前四处打听有没有其他消息推送的方法:收获如下:首先如果想做到apns的 ...
- 一文了解服务端推送(含JS代码示例)
常用的服务端推送技术,包括轮询.长轮询.websocket.server-sent-event(SSE) 传统的HTTP请求是由客户端发送一个request,服务端返回对应response,所以当服务 ...
- 信鸽推送.net 服务端代码
//推送代码 private void send() { #region 安卓推送 XingeApp app = new XingeApp("accessId", "se ...
- 推送一个docker 使用阿里docker hub
阿里docker hub 地址 打开容器镜像服务页https://cr.console.aliyun.com/cn-qingdao/namespaces 这个是我的私有库 配置加速 我这边用的也是阿里 ...
- $Django 支付宝支付,微信服务号推送消息 (测试需要把应用程序部署到服务器上)
一 支付宝支付 大概 支付宝支付 正式环境:需要用营业执照去申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.ht ...
- python3 三行代码基于HTTP2完美实现APNS推送【详解】
第一次做苹果APNS(Apple Push Notification service)推送,关于APNS推送原理以及证书的获取方式网上已经有许多资料,在此不做过多赘述,需要注意的是证书分为测试证书和正 ...
- 链接提交-js代码推送进化版
百度站长平台提供链接索引的自动提交JS脚本已经有一段时日了.用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用.安装代码的页面在任意平台(浏览器.微信.微博 ...
随机推荐
- CLR查找和加载程序集的方式(二) 流程图
在前一篇文章<CLR查找和加载程序集的方式(一)>中详细介绍了CLR查找和加载程序的方式,分别介绍了配置与代码的实现方式. 本篇通过一个具体的流程图来帮助大家更加直观明了深入的掌握CLR查 ...
- ajax上传图片
选择文件后 ajax上传图片到后台,后台执行保存操作,返回上传的图片路径,显示到页面 需要引入ajaxfileupload.js js代码 <script type="text/jav ...
- python 使用内置函数sorted对各种数据类型进行排序
python有两个内置的函数用于实现排序,一个是list.sort()函数,一个是sorted()函数. 区别1:list.sort()函数只能处理list类型数据的排序:sorted()则可以处理多 ...
- 启动tomcat直接报错:org.apache.tomcat.util.digester.Digester startElement
今天很奇怪,自己手动搭建了一个ssm(spring+springmvc+mybatis)的项目,然后添加到tomcat下,启动直接报错: 2017-3-19 9:24:47 org.apache.to ...
- "the hypervisor is not running" 故障
在我们日常服务器管理中,常常会遇到创建虚拟机,如果在一台新部署的 Hyper-V 上新建一个 Virtual Machine 时,出现错误信息:"The virtual machine co ...
- linux yum下载文件的存放位置
默认是: /var/cache/yum也可以在 /etc/yum.conf 指定cachedir=/var/cache/yum #存放目录keepcache=1 #1为保存 0为不保存metadata ...
- SOA面向服务的架构理解
Ø 单一应用架构 ·当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. Ø 垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几 ...
- (20)IO流之SequenceInputStream 序列流
序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直 ...
- C—动态内存分配之malloc与realloc的区别
在程序的执行期间分配内存时,内存区域中的这个空间称为堆(heap).还有另一个内存区域,称为堆栈(stack),其中的空间分配给函数的参数和本地变量.在执行完该函数后,存储参数和本地变量的内存空间就会 ...
- c++学习笔记之继承篇
title: c++学习笔记之继承篇 date: 2017-03-26 16:36:33 tags: [c++,继承,public,virtual,private,protected] categor ...