gerrit(1) | gerrit 简介

2024-02-05 20:20
文章标签 简介 gerrit

本文主要是介绍gerrit(1) | gerrit 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

gerrit(1) | gerrit 简介

1. 目的

之前用过 gitlab CI/CD, github actions, 以及公司的配置管理员配置的 jenkins。

github 的 MR, github 的 PR, 虽然在用, 但仅限于参与开源项目或公司内的开源项目, OEM 项目中完全没在用。

gerrit 应该是比较强大的 code review 系统, 基于 git 的, 这里简单了解下。

2. gerrit 的历史

https://www.gerritcodereview.com/about.html

Google Mondrian

谷歌开发了 Mondrian, 它是基于 Perforce 的 code review 工具, 是在代码提交到中心仓库之前做 peer-review。

Mondrian 不开源, 并且绑定到了很多是谷歌特有的服务, 比如 BigTable。 谷歌员工每天都在用 Mondrian, 并且觉得很好用。

Rietveld

Guido van Rossum在Rietveld中开源了Mondrian的部分内容,Rietveld是一个类似的代码审查工具,运行在Google App Engine上,但是用于Subversion而不是Perforce。Rietveld被许多开源项目广泛使用,类似于Mondrian为Google员工提供的同行审查。与Mondrian和Google Perforce触发器不同,Rietveld严格来说是一个咨询性工具,不会强制要求在提交之前进行同行审查。

Gitosis and Gitolite

Git是一种分布式版本控制系统,其中每个存储库都被假定为由单个用户拥有/维护。Git中没有内置的安全控制,因此从存储库读取或写入的能力完全受主机文件系统访问控制的控制。当多个维护者在单个共享存储库上进行协作时,需要高度的信任,因为任何具有写入访问权限的协作者都可以更改存储库。

Gitosis和Gitolite提供了工具来保护集中式Git仓库,允许多个维护者同时管理同一个项目,通过限制只能通过安全网络协议访问,就像Perforce通过只允许通过其网络端口访问来保护仓库一样。

Android

Android开源项目(AOSP)是由谷歌通过开源发布Android操作系统而成立的。AOSP选择Git作为其主要版本控制工具。由于许多工程师在谷歌有使用Mondrian的经验,因此他们强烈希望Git和AOSP能拥有相同(或更好)的功能集。

The Rietveld fork

Gerrit Code Review最初是对Rietveld的一组简单补丁,最初是为了服务AOSP而构建的。由于Rietveld是AppEngine平台的技术演示,并且访问控制功能会使Rietveld代码库变得复杂,因此很快就变成了一个分支。随着功能和代码开始变得截然不同,需要一个不同的名称。Gerrit回溯到Rietveld的原始名字Gerrit Rietveld,他是一位荷兰建筑师。

Gerrit 2.x rewrite

Gerrit 2.x 是 Gerrit 分支的完全重写,将实现方式从 Python on Google App Engine 改为 Java on a J2EE servlet 容器和 SQL 数据库。

Gerrit 3.x rewrite

自 Gerrit 3.x 开始,NoteDb 取代了 SQL 数据库,现在所有的元数据都存储在 Git 中。用户界面也从 GWT 迁移到了 Polymer。

这篇关于gerrit(1) | gerrit 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/682058

相关文章

轻量级在线服装3D定制引擎Myway简介

我写的面向web元宇宙轻量级系列引擎中的另外一个,在线3D定制引擎Myway 3D。 用于在线商品定制,比如个性化服装的定制、日常用品(如杯子)、家装(被套)等物品的在线定制。 特性列表: 可更换衣服款式,按需定制更换模型可实时更改材质颜色可实时添加文本,并可实时修改大小、颜色和角度,支持自定义字体可实时添加艺术图标,并可实时修改大小、颜色和角度,支持翻转、各种对齐可更改衣服图案,按需求定制

shader language学习(1)——shader language简介背景

shader language,称为着色语言,shade在英语是阴影、颜色深浅的意思。shader language基于物体本身属性和光照条件,计算美格橡塑的颜色值。 实际上这种解释具有明显的时代局限性,在GPU编程发展的早期,shader language的提出目标是加强对图形处理算法的控制,所以对该语言的定义也针对于此。但随着技术的进步,目前的shader language早已经用于通用计算

算法13—Bit Map算法简介

1. Bit Map算法简介          来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 2、 Bit Map的基本思想         我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排

Zustand 状态管理库简介

1. Zustand 简介 Zustand(德语中意为“状态”)是一个使用简单 API 的 React 状态管理库。它的核心思想是以状态切片(slices)的方式组织应用状态,从而实现高效的状态管理。Zustand 提供了比 Redux 更加简洁和直接的用法,同时支持异步操作和中间件。 在React开发中,状态管理是一个非常重要的概念。虽然 React 提供了 useState 和 useRe

SpringCloud Config简介

简介 Spring Cloud Config为分布式系统的外部配置提供服务端(server)和客户端(client)的支持。Config服务端提供了一个集中的地方来管理所有环境下各个应用的配置,Config客户端即普通的Spring应用,但不局限于Spring应用,理论上任意应用都可以作为Config的客户端。Config服务端和客户端的概念都源自于Spring的Environment和Prop

常用加密算法之 RSA 简介及应用

引言 相关博文: Spring Boot 开发 – 常用加密算法简介(一)常用加密算法之 SM4 简介及应用 一、RSA算法简介 RSA (Rivest-Shamir-Adleman) 算法是一种非对称加密技术,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年发明。它基于大数质因数分解的困难性,提供了一种安全的数据加密和解密方法。 1. 密钥生成

腾讯Hardcoder-Android通讯框架简介

APP 的功能和业务特性不依赖于该框架。 总而言之,由于Hardcoder是腾讯主导的,所以我们不用太担心兼容性问题,腾讯会和手机厂商进行洽谈并提供解决方案,并且目前已经支持Hardcoder框架的手机厂商有OPPO、vivo、华为、小米、三星、魅族等。 Hardcoder 性能优化技术方案 Hardcoder 优化基础 Hardcoder 在Android系统侧主要优化的方法有提高 CP

「JCVI教程」JCVI的模块简介

JCVI的使用基本格式为python -m jcvi.模块.子功能 实际操作,因此了解JCVI的模块能够帮助我们去找到需要的功能。根据JCVI的源代码,我们可以知道它目前一共有10个模块,如下 algorithms: 算法模块 algorithms annotation: 注释模块 annotation assembly: 组装模块 assemb

MongoDB Map-Reduce 简介

MongoDB Map-Reduce 简介 MongoDB 是一个流行的 NoSQL 数据库,它使用文档存储数据,这些数据以 JSON 格式存储。MongoDB 提供了多种数据处理方法,其中 Map-Reduce 是一种用于批量处理和聚合数据的功能强大的工具。Map-Reduce 允许用户对大量数据进行自定义的聚合操作,适用于复杂的查询和数据转换任务。 Map-Reduce 的基本概念 Ma

Hadoop简介_Hadoop集群_Hadoop安装配置

Hadoop集群(第5期)_Hadoop安装配置   1、集群部署介绍   1.1 Hadoop简介     Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透