• 【gerrit】【技巧】如何获取gerrit库入库统计信息之二——gerrit搜索框(search bar)


    • 🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)
    • 🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd
    • 🌐系列专栏:善假于物
    • 📰如觉得博主文章写的不错或对你有所帮助的话,还望大家三连支持一下呀!!! 👉关注✨、点赞👍、收藏📂、评论。
    • 如需转载请参考转载须知!!

    引言

    概述

    • Gerrit的搜索框输入的query命令会查询Gerrit的changes数据库;
    • 输入框的内容就是搜索条件,多个参数通过空格分隔,每个参数以冒号分隔条件名称和条件内容,如:
    status:merged project:XXXXXX branch:develop message:kw
    
    • 1
    • 大多数基本的搜索都可以通过点击顶部菜单栏的链接或某次合库的信息来查看,该链接将用一个常见的搜索查询预先填充搜索框,执行它,并显示结果。
    • 菜单栏的链接如下所示:
      在这里插入图片描述在这里插入图片描述
    • 如使用点击下面"Just for test."这条合库信息的master,则在搜索框中会自动填入"status:open project:EventServer branch:master"并执行查询;
      在这里插入图片描述
    • gerrit中,关于搜索的说明,可以通过Documentation->Searching获取更多信息:
      在这里插入图片描述

    搜索条件

    搜索操作数的构成

    • 这里所谓的操作数,即过滤条件冒号后的参数的构成元素,如status:merged中的merged。
    • 字符: A-Z, a-z, 0-9, @, .,-,_等;
    • 双引号:“”
    • 大括号:{}

    基本搜索元素

    • 数字编号;
    • Change-Id的全部或缩写
    • commit SHA-1的全部或缩写
    • Email地址

    默认搜索条件

    • 状态:status:open ‘(or is:open)’、status:merged、status:abandoned
    • 关注+状态:is:watched is:open
    • 状态+工程名: status:open project:Foo
    • 收藏:is:starred
    • 草稿:has:draft

    常用搜索操作符

    status/is
    status:merged 
    is:merged     #含义同上
    
    • 1
    • 2
    project
    project:Foo
    
    • 1
    owner
    owner=self  #等同于owner=email address;
    
    • 1
    age
    age:2d   #2天之前的修改;
    -age:2m  #2分钟内的修改;
    
    • 1
    • 2
    change
    change:15183
    change:Ic0ff33
    
    • 1
    • 2
    commit
    commit:d81b32ef
    
    • 1
    branch
    branch:master
    
    • 1
    topic
    topic:'qxhgd add for xxx problem' #需要精确匹配
    
    • 1
    message
    message:'xxx problem' #匹配commit消息体中任意子字符串即可
    
    • 1
    file
    file:Foo.c  #精确匹配Foo.c文件
    file:src    #可匹配所有路径中包含src的文件,server/src/main/Foo.c
    
    • 1
    • 2

    条件组合

    • 基本操作符:非(Negation或-)、与(AND)、或(OR)
    • 默认情况下不同搜索条件之间的空格,等同于AND,即:
    status:merged project:XXXXXX
    
    • 1

    等价于:

    status:merged AND project:XXXXXX
    
    • 1
    • OR的例子:
    status:merged OR status:abandoned
    
    • 1
    • 一个复合的例子(由qxhgd提交的状态为merged和abandond,且不属于prj/xxx这个项目的commit)
    (status:merged OR status:abandoned) AND owner:"qxhgd" AND -project:prj/xxx
    
    • 1

    参考资料

    如本文对你有些许帮助,欢迎大佬支持我一下,您的支持是我持续创作的不竭动力
    支持我的方式

  • 相关阅读:
    【LeetCode】每日一题 2023_11_21 美化数组的最少删除数(贪心/模拟)
    MySQL中find_in_set()函数用法详解
    理解Python装饰器
    gofly框架接口入参验证使用介绍
    K8S资源对象:StatefulSet简介
    中级C++:map和set的迷你实现
    优化Vue项目架构和模块化:提升应用性能与开发效率
    vue app开发调用原生方法实现权限访问授权处理(二)
    JAXB的XmlElement注解
    设计模式 - 中介者模式
  • 原文地址:https://blog.csdn.net/qxhgd/article/details/127592224