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。

相关推荐

  1. gerrit(1) | gerrit 简介

    2024-02-05 11:20:03       56 阅读
  2. 代码审查工具Gerrit简介

    2024-02-05 11:20:03       28 阅读
  3. git--gerrit

    2024-02-05 11:20:03       34 阅读
  4. gerrit(2) | 为什么使用 gerrit

    2024-02-05 11:20:03       50 阅读
  5. gerrit 拉取失败

    2024-02-05 11:20:03       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-05 11:20:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-05 11:20:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-05 11:20:03       82 阅读
  4. Python语言-面向对象

    2024-02-05 11:20:03       91 阅读

热门阅读

  1. PHP三级分类数据处理

    2024-02-05 11:20:03       45 阅读
  2. Symbol.toStringTag用法

    2024-02-05 11:20:03       50 阅读
  3. asp.net+h5网页调用摄像头实现拍照功能

    2024-02-05 11:20:03       41 阅读
  4. 算法每日一题: Nim游戏 | 找规律

    2024-02-05 11:20:03       62 阅读
  5. Exploring Sequelize Schema and Model Usage

    2024-02-05 11:20:03       45 阅读
  6. 疑惑问题总结

    2024-02-05 11:20:03       54 阅读
  7. 支付交易——支付原理

    2024-02-05 11:20:03       47 阅读
  8. Xor 特殊情况_题解

    2024-02-05 11:20:03       48 阅读
  9. MySQL数据存储

    2024-02-05 11:20:03       52 阅读
  10. 什么是API

    2024-02-05 11:20:03       56 阅读