对gerrit有所了解的同学,都知道gerrit 是我们常用的一个来做代码审核的工具,其中的权限管理,是一个非常重要的环节,关于每个权限的使用范围,可以参考博客https://blog.csdn.net/chenjh213/article/details/50571190,算是很详细的介绍,关于其中的小组,我们有这样的场景:代码仓是一个很重要的代码仓,只给指定的人员使用,其他人是不能下载查看的。这时候就涉及到了小组成员和默认权限的关系,gerrit的思想是:当默认权限和小组权限发生冲突时,以小组权限为主,也就是说,小组权限会覆盖掉默认权限。

  我们现在有两个组:group1包含了全公司的开发人员,比如user1、user2、user3、user4,group2包含了负责feature_repo的开发人员,比如user1、user2,当然group2的user1、user2就是group1里的user1、user2。

  需要设置feature_repo项目只给group2小组成员下载,group1里的user3、user4是不能下载的

步骤如下:

1.在people里设置小组如下:

在group1中添加全公司人员,如user1、user2、user3、user4,group2添加feature_repo的开发人员,如user1、user2,

2.然后创建两个空的仓库,分别叫group1,group2。其中仓库group1试用默认权限,如下:

仓库group2,设置权限如下:

push:设置禁止非小组人员push代码

Read:设置非小组人员克隆代码

3.设置feature_repo仓库的权限时,使用group2,如下:

4最后非group2的人员下载feature_repo时,就下载不到代码

成员user3,user4不在group2中,feature_repo又只允许group2的成员下载,那么user3或者user4这类非group2的人员下载feature_repo时,就下载不到代码,效果如下:

显示‘unable to checkout ’ 下载不到代码(虽然会在本地创建一个文件下)

注意,如果仓库代码多的话,执行克隆代码,前面一段时间看上去的是在显示下载,其实只是下.git 文件夹,没有实际下载代码,所以依然下载不到代码,这样非小组成员还是看不到代码,就是不给他看~~

gerrit设置非小组成员禁止下载代码的更多相关文章

  1. 关于我与小组成员逐步升级C代码时的一些感想【第二次作业】

    #include<stdio.h> #include<stdlib.h> #include <time.h> int main(){ srand(time(NULL ...

  2. Windows 和 Linux下使用socket下载网页页面内容(可设置接收/发送超时)的代码

    主要难点在于设置recv()与send()的超时时间,具体要注意的事项,请看代码注释部分,下面是代码: #include <stdio.h> #include <sys/types. ...

  3. Newtonsoft.Json高级用法 1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的字段名称

    手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...

  4. 【C#】让ReSharper灰色显示未使用的非私有成员的关键

    环境:VS2010+ReSharper8 先说答案: 1.在Inspection Severity中设置Non-private accessibility为Warning.如图: 该页面在ReShar ...

  5. java类成员变量与代码块初始化

    首先根据下面的这个一段代码:引入关于java初始化顺序的问题public class InitationTest extends Person { public InitationTest() { S ...

  6. C++_static与非static成员(函数)

    static与非static成员(函数)  <C++ Primer>第4版399页: 对于特定类类型的全体对象而言,访问一个全局变量有时是必要的.然而,全局变量会破坏封装:对象需要支持特定 ...

  7. Keil MDK下如何设置非零初始化变量

    一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始 ...

  8. axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码

    axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载    代码 项目和资源文档+jar 下载:http://download.csdn. ...

  9. Keil MDK下如何设置非零初始化变量(转)

    源:Keil MDK下如何设置非零初始化变量 一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默 ...

随机推荐

  1. 导入Excel 类型的数据

    thinkphp 访问此控制方法就可以导入了 //数据导入 public function impUser(){ if (!empty($_FILES)) { $upload = new \Think ...

  2. .NET Core下的Socket示例.

    About.schtml中的代码 @{ ViewData["Title"] = "About"; } <h2>@ViewData["Tit ...

  3. {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm

    Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...

  4. c# 编程小技巧

    1.对于界面布局,可以考虑使用 wpf,对于传统winfrom来说,tableLayoutPanel1可能是最好的选择. 2.你一定会问,如何使用代码管理大量的按钮,可以使用 List<Butt ...

  5. DBCHART读取X、Y、LABEL值

    1.把MOUSE移到某一条SERIES上时,显示该点的值 procedure Tzl1Form.DBChart1ClickSeries(Sender: TCustomChart;  Series: T ...

  6. 转:AOP与JAVA动态代理

    原文链接:AOP与JAVA动态代理 1.AOP的各种实现 AOP就是面向切面编程,我们可以从以下几个层面来实现AOP 在编译期修改源代码 在运行期字节码加载前修改字节码 在运行期字节码加载后动态创建代 ...

  7. jquery基础学习之DOM篇(二)

    在此之前请牢记,jquery 是一个合集对象!!!! 1.节点创建 js创建方法: 创建元素:document.createElement 设置属性:setAttribute 添加文本:innerHT ...

  8. 机器学习:K-Means/K-Means++

  9. LeetCode-111.Mininum Depth of Binary Tree

    Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...

  10. 20180310 KindEditor 富文本编辑器

    问题: 如何判断富文本编辑器文本内容非空 错误的办法,采用js 对控件本身的txt ID 号抓取获取值,由于加载富文本编辑器时,界面的ID 已经经过了修改或者可以用转换来说,所以抓取是无效果的. 需要 ...