• 【gerrit】【技巧】如何获取gerrit库入库统计信息之一——概述


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

    引言

    • 有时需要统计团队人员向Gerrit库中提交代码的情况、某段时间某个库的修改情况、某个文件的修改情况等,此时,需要对gerrit库的入库情况进行检索,分析并统计。实际的操作方式比较多,本文将对具体的方式做一整理。

    gerrit方式

    gerrit网页客户端上的search bar

    • 对应下图中的Search term位置,里面填上搜索条件就可以列出所有满足条件的结果;
      在这里插入图片描述

    ssh命令行方式

    • 有一组在命令行用的命令,是透过ssh方式来访问的,譬如
    ssh -p 29418 username@host gerrit --help
    
    • 1

    可以看到具体的子命令;

    • 其中有个子命令是query,和第一种方式差不多,但可以将查询结果以txt或者json的格式导出,比如下面命令,可以查询在2022-10-01到2022-11-01之间一个月,提交到以TEST_为开头的所有项目有效(merged)提交信息:
    ssh -p 29418 qxhgd@gerrit.XXX.com gerrit query --format=JSON --current-patch-set status:merged branch:master projects:TEST_ before:2022-11-01 after:2022-10-01
    
    • 1

    RESTful API

    • gerrit提供了很多RESTful API,这个方法是最全面最强大也最复杂的,具体的api可以参考documentation
    • 一个例子:
      Request如下:
      GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940 HTTP/1.0
    
    • 1

    对应Response如下:

      HTTP/1.1 200 OK
      Content-Disposition: attachment
      Content-Type: application/json; charset=UTF-8
    
      )]}'
      {
        "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
        "project": "myProject",
        "branch": "master",
        "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
        "subject": "Implementing Feature X",
        "status": "NEW",
        "created": "2013-02-01 09:59:32.126000000",
        "updated": "2013-02-21 11:16:36.775000000",
        "mergeable": true,
        "insertions": 34,
        "deletions": 101,
        "_number": 3965,
        "owner": {
          "name": "John Doe"
        }
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 此种方式配合编程语言之后,功能非常强大,如可使用python的pygerrit2库来操作上述api。

    git方式

    gitlog命令

    • 下面命令,可以查询qxhgd自2022年11月1日开始提交commit的次数:
    git log --author=qxhgd--since="2022-11-01" --no-merges | grep -e 'commit [a-zA-Z0-9]*' | wc -l;
    
    • 1

    gitstats工具

    当前gitstats所生成统计信息常用分为如下几类:

    • 常规的统计: 文件总数,行数,提交量,作者数。
    • 活跃性: 每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。
    • 作者数: 列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。
    • 文件数:按日期划分,按扩展名名划分。
    • 行数: 按日期划分。
      在这里插入图片描述

    界面工具

    • git的GUI界面工具很多,常见的如TortoiseGit和Sourcetree等;
    TortoiseGit
    • TortoiseGit是一款开源的git的版本控制系统,也叫海龟git,其提供了人性化的图形化界面,不用像Git一样输入许多语句,在其界面上可以根据需要检索相关信息:
      在这里插入图片描述
    Sourcetree
    • 它是由Atlassian开发的免费Git图形界面工具,可以操作任何Git库,对git的操作也比较友好。
      -在这里插入图片描述

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

  • 相关阅读:
    CrossOver 23.6 让Mac可以运行Windows程序的工具
    个推解读Android13新特性,发布《Android13适配指南》
    Java打包jar包的全部方式
    Unity 2021 LTS / Unity 2022 LTS New Shader Graph Node 参考样本
    「MySQL」MySQL面试题全解析:常见问题与高级技巧详解
    珠海金山面试复盘
    Go语言 并发与通道
    哪种主机更适合初创公司租用?云主机与共享主机
    Redis--模糊查询--方法/实例
    SpringBoot日志输出
  • 原文地址:https://blog.csdn.net/qxhgd/article/details/127573337