zoukankan      html  css  js  c++  java
  • src-d engine 强大的git 历史分析工具

    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

  • 相关阅读:
    假期学习2
    假期学习1
    读《需求工程--软件建模和分析》一
    数据清洗
    Mapreduce实例——WordCount
    SEVEN python环境jieba分词的安装 以即热词索引
    SIX Spark Streaming 编程初级实践
    FIVE Spark SQL 编程初级实践
    FOUR spark-shell 交互式编程
    THREE SPAKR
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10274382.html
Copyright © 2011-2022 走看看