src-d engine 包含了Babelfish ,同时可以看作是Babelfish 的升级版本,我们可以使用sql 进行代码分析
备注: 注意运行的时候需要容器支持

使用

  • 安装docker
 
参考相关文档,或者直接安装docker for desktop 版本的
 
  • 安装engine 二进制包
https://github.com/src-d/engine/releases  下载版本,配置环境变量,或者拷贝path 路径
 

试用

  • init
    git 项目路径下, 效果如下
 
 rss-nodejs git:(master) srcd init
INFO[0000] starting daemon with working directory: /Users/dalong/mylearning/rss-nodejs
INFO[0003] installing "srcd/cli-daemon:v0.7.0"
INFO[0016] installed "srcd/cli-daemon:v0.7.0"
INFO[0018] creating srcd-cli-network docker network
 

  • 运行web sql
srcd web sql
需要安装驱动(代码分析的,和Babelfish的类似)
  • 使用命令行执行查询
srcd sql
  • 执行查询
    集成了gitbase
 
show tables;

效果

 show tables;
+--------------+
| table |
+--------------+
| blobs |
| commit_blobs |
| commit_files |
| commit_trees |
| commits |
| files |
| ref_commits |
| refs |
| remotes |
| repositories |
| tree_entries |
+--------------+
 
 
  • 查询
SELECT repository_id,commit_count 
    -> FROM (
    -> SELECT r.repository_id, COUNT(*) AS commit_count
    -> FROM ref_commits r
    -> WHERE r.ref_name = 'HEAD'
    -> GROUP BY r.repository_id
    -> ) AS q
    -> ORDER BY commit_count
    -> DESC
    -> LIMIT 10;
+---------------+--------------+
| repository_id | commit_count |
+---------------+--------------+
| repos | 5 |
+---------------+--------------+
1 row in set (0.23 sec)
 
 

参考架构

说明

src-d engine 的功能很强大,是多个产品的集成,同时也可以使用gitbase 直接查询
gitbase 实现了一个mysql server 服务,我们直接可以查询分析git 的提交信息

参考资料

https://docs.sourced.tech/engine/
https://github.com/src-d/gitbase
https://github.com/src-d/go-mysql-server

src-d engine 强大的git 历史分析工具的更多相关文章

  1. 可视化实时Web日志分析工具-goaccess

    说到web服务器就不得不说Nginx,目前已成为企业建站的首选.但由于种种历史原因,Nginx日志分析工具相较于传统的apache.lighthttp等还是少很多. 今天就和大家分享一个非常强大的实时 ...

  2. Java开发分析工具JProfiler的详细使用方法解析

    JProfiler 11 是一款功能强大的Java代码分析工具,JProfiler的直观UI可帮助您解决性能瓶颈,确定内存泄漏并了解线程问题且JProfiler 11 Mac破解版配置会话非常简单,第 ...

  3. 10 个强大的开源 Web 流量分析工具(转帖)

    Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足.本文收集并介绍 ...

  4. [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler

    [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler 1 官方网站:http://memprofiler.com/2 下载地址:http://memprofiler. ...

  5. 强大的日志分析工具 -- NSLogger

    转:http://www.cnblogs.com/yingkong1987/p/3329945.html 强大的日志分析工具 -- NSLogger 源码:https://github.com/fpi ...

  6. Log Parser 微软强大的日志分析工具

    Log Parser(微软网站下载)是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件.XML 文件.CSV(逗号分隔符)文件,以及操作系统的事件日志.注册表.文件系统.A ...

  7. 强大的django-debug-toolbar,django项目性能分析工具

    强大的django-debug-toolbar,django项目性能分析工具 给大家介绍一个用于django中debug模式下查看网站性能等其他信息的插件django-debug-toolbar 首先 ...

  8. PHP 性能追踪及分析工具(XHPROF)

    原文:https://gold.xitu.io/post/5860d23f128fe10069e1cfbf XHPROF:Facebook 开源的轻量级PHP性能分析工具. 它报告函数级别的请求次数和 ...

  9. 几款Git GUI客户端工具

    工欲善其事,必先利其器. 作为一名开发人员,你不可能不知道git,无论你是开发自己的开源项目还是和团队一起进行大规模产品的开发,git都已经是源代码管理工具的首选.当然,那些hardcore deve ...

随机推荐

  1. SQL-39 使用索引

    题目描述 针对salaries表emp_no字段创建索引idx_emp_no,查询emp_no为10005, 使用强制索引.CREATE TABLE `salaries` (`emp_no` int( ...

  2. SAL-9 获取所有部门当前manager的当前薪水情况,给出dept_no, emp_no以及salary,当前表示to_date='9999-01-01'

    题目描述 获取所有部门当前manager的当前薪水情况,给出dept_no, emp_no以及salary,当前表示to_date='9999-01-01'CREATE TABLE `dept_man ...

  3. SimpleDateFormat的安全问题解决方法

    问题: SimpleDateFormat 是线程不安全的类,一般不要定义为static变量,如果定义为static,必须加锁,或者使用DateUtils工具类. 而且SimpleDateFormat ...

  4. oracle截取字段中的部分字符串

    使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,de ...

  5. python3.6 安装第三方库 pyCryptodome 实现AES加密

    起因 前端日子写完的Python入库脚本,通过直接读取配置文件的内容(包含了数据库的ip,数据库的用户名,数据库的密码),因为配置文件中的数据库密码是明文显示的,所以不太安全,由此对其进行加密. 编码 ...

  6. 20165214 2017-2018-2 《Java程序设计》课程总结

    20165214 2017-2018-2 <Java程序设计>课程总结 每周任务链接 预备作业1:我期望的师生关系 预备作业2:C语言基础调查和java学习展望 预备作业3:Linux安装 ...

  7. Js代码一些要素

    ---恢复内容开始--- 条件语句 is(条件){ 语句 }else { 语句 } {}在js中我们把他叫代码块.如果代码块里内容没有执行完,语句就不会向下执行. 代码块是一个独立的整体.如果js中莫 ...

  8. Redis开机自启动

    1.新建redis文件 vi /etc/init.d/redis 2.修改/tec/init.d/redis文件,要修改Redis安装目录及配置文件路径 EXEC=/usr/local/redis/b ...

  9. [转][译] Closures in Lua - Lua中的闭包

    http://www.cnblogs.com/plodsoft/p/5900270.html?utm_source=tuicool&utm_medium=referral 原文:(PDF) . ...

  10. m3u8编码视频webgl、threejs渲染视频纹理demo

    <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>fz-live< ...