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

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

引言


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


gerrit方式


gerrit网页客户端上的search bar


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



ssh命令行方式


  • 有一组在命令行用的命令,是透过ssh方式来访问的,譬如


ssh -p 29418 username@host gerrit --help


可以看到具体的子命令;


  • 其中有个子命令是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


RESTful API


  • gerrit提供了很多RESTful API,这个方法是最全面最强大也最复杂的,具体的api可以参考documentation


  • 一个例子:


Request如下:


  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940 HTTP/1.0


对应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"
    }
  }


  • 此种方式配合编程语言之后,功能非常强大,如可使用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;


gitstats工具


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


  • 常规的统计: 文件总数,行数,提交量,作者数。


  • 活跃性: 每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。


  • 作者数: 列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。


  • 文件数:按日期划分,按扩展名名划分。


  • 行数: 按日期划分。



界面工具


  • git的GUI界面工具很多,常见的如TortoiseGit和Sourcetree等;


TortoiseGit


  • TortoiseGit是一款开源的git的版本控制系统,也叫海龟git,其提供了人性化的图形化界面,不用像Git一样输入许多语句,在其界面上可以根据需要检索相关信息:



Sourcetree


它是由Atlassian开发的免费Git图形界面工具,可以操作任何Git库,对git的操作也比较友好。


相关文章
|
6月前
|
API 数据库
Activiti 流程资源文件下载及历史信息查询
Activiti 流程资源文件下载及历史信息查询
54 0
|
5天前
|
测试技术 API 数据安全/隐私保护
Python连接到Jira实例、登录、查询、修改和创建bug
通过使用Python和Jira的REST API,可以方便地连接到Jira实例并进行各种操作,包括查询、修改和创建Bug。`jira`库提供了简洁的接口,使得这些操作变得简单易行。无论是自动化测试还是开发工作流的集成,这些方法都可以极大地提高效率和准确性。希望通过本文的介绍,您能够更好地理解和应用这些技术。
23 0
|
3月前
|
开发工具 数据安全/隐私保护 Python
【Azure 环境】通过Python SDK收集所有订阅简略信息,例如订阅id 名称, 资源组及组内资源信息等,如何给Python应用赋予相应的权限才能获取到信息呢?
【Azure 环境】通过Python SDK收集所有订阅简略信息,例如订阅id 名称, 资源组及组内资源信息等,如何给Python应用赋予相应的权限才能获取到信息呢?
|
4月前
|
存储 开发工具 git
好的git管理方法,标明项目_编号_(功能,不过还是在没有bug出现时就提交为好)+Excel表管理的格式
好的git管理方法,标明项目_编号_(功能,不过还是在没有bug出现时就提交为好)+Excel表管理的格式
|
6月前
|
算法 Java BI
云效产品使用报错问题之平台上导出的统计数据和 git 中使用命令导出的数据统计都对不上,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
6月前
|
机器人
Dataphin功能Tips系列(5)-手工表上传及长期维护
有些业务数据是手工excel维护的,这时我们要如何将数据上传至dataphin并进行维护?
Dataphin功能Tips系列(5)-手工表上传及长期维护
|
6月前
|
存储 JSON 数据可视化
API入门项目项目收集GitHub上热门项目的信息
API是网站的一部分,在学术领域中常用于获取数据信息。如果我们想要获取某个网站上的一些信息,可以使用API请求数据,然后对这些数据进行处理和可视化,以便更好地理解和分析数据。
114 0
jira学习案例50-添加项目列表和项目详情路由1
jira学习案例50-添加项目列表和项目详情路由1
64 0
jira学习案例50-添加项目列表和项目详情路由1
|
存储
学习笔记jira项目22usecontent存储全局信息
学习笔记jira项目22usecontent存储全局信息
73 0
学习笔记jira项目22usecontent存储全局信息
|
程序员 网络安全 数据安全/隐私保护
GitHub重大更新,关系所有的IT人员
GitHub重大更新,关系所有的IT人员
118 0
GitHub重大更新,关系所有的IT人员