【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的操作也比较友好。


相关文章
|
2月前
|
API 数据库
Activiti 流程资源文件下载及历史信息查询
Activiti 流程资源文件下载及历史信息查询
21 0
|
9月前
|
存储 运维 安全
【运维知识高级篇】一篇文章带你搞懂GitHub基础操作!(注册用户+配置ssh-key+创建项目+创建存储库+拉取代码到本地+推送新代码到Github)
【运维知识高级篇】一篇文章带你搞懂GitHub基础操作!(注册用户+配置ssh-key+创建项目+创建存储库+拉取代码到本地+推送新代码到Github)
142 0
|
9天前
|
算法 Java BI
云效产品使用报错问题之平台上导出的统计数据和 git 中使用命令导出的数据统计都对不上,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
2月前
Dataphin功能Tips系列(5)-手工表上传及长期维护
有些业务数据是手工excel维护的,这时我们要如何将数据上传至dataphin并进行维护?
|
5月前
|
存储 JSON 数据可视化
API入门项目项目收集GitHub上热门项目的信息
API是网站的一部分,在学术领域中常用于获取数据信息。如果我们想要获取某个网站上的一些信息,可以使用API请求数据,然后对这些数据进行处理和可视化,以便更好地理解和分析数据。
|
8月前
|
数据可视化 JavaScript 开发工具
【全网最全面】VS Code使用Git可视化管理源代码详细教程
【全网最全面】VS Code使用Git可视化管理源代码详细教程
369 0
|
10月前
|
数据可视化 前端开发 API
漏刻有时数据可视化大屏常见问题(11):调整api地址解除根目录安装权限适应子目录安装
漏刻有时数据可视化大屏常见问题(11):调整api地址解除根目录安装权限适应子目录安装
66 0
|
存储
学习笔记jira项目22usecontent存储全局信息
学习笔记jira项目22usecontent存储全局信息
56 0
学习笔记jira项目22usecontent存储全局信息
|
存储 SQL 缓存
DVC 使用指南:管理外部数据
⚠️ 这是针对特定情况的高级功能,除非绝对没有其他选择,否则不推荐使用。 在大多数情况下,dvc add 和 dvc import-url 的 to-cache 或 to-remote 策略更方便。
|
运维 小程序 前端开发
基于小程序云开开发(统计学生信息并导出excel)1.0版本
基于小程序云开开发(统计学生信息并导出excel)1.0版本
96 0
基于小程序云开开发(统计学生信息并导出excel)1.0版本

热门文章

最新文章