一款用 SQL 方式查询 Git 仓库的开源项目进入 GitHub 趋势榜 - Go语言中文社区

一款用 SQL 方式查询 Git 仓库的开源项目进入 GitHub 趋势榜


SQL 应该是每个服务端开发必备的技能,同时 Git 也成为了每个开发人员的必备工具。今天这个项目的作者挺有创业,将两者结合起来,通过写 SQL 语句来查询 Git 仓库的相关信息。例如返回当前已检出 branch/commit 的历史记录中的所有提交,语句是:SELECT * FROM commits。

项目地址:https://github.com/augmentable-dev/gitqlite,Star 数 778,进入了 GitHub 趋势榜。

一款用 SQL 方式查询 Git 仓库的开源项目进入 GitHub 趋势榜

它通过 SQLite 虚拟表并使用 go-git 来实现的。

安装:

  1. go install -v -tags=sqlite_vtable github.com/augmentable-dev/gitqlite 

你也可以使用 Docker:

  1. docker build -t gitqlite:latest . 

使用示例:

  1. gitqlite "SELECT * FROM commits" 

一个更复杂的例子:

  1. SELECT author_email, count(*) FROM commits GROUP BY author_email ORDER BY count(*) DESC 

它返回每个作者的提交计数(电子邮件标识作者)。

相关提交、文件、refs 对应的表定义如下:

commits:

ColumnTypeidTEXTmessageTEXTsummaryTEXTauthor_nameTEXTauthor_emailTEXTauthor_whenDATETIMEcommitter_nameTEXTcommitter_emailTEXTcommitter_whenDATETIMEparent_idTEXTparent_countINTtree_idTEXTadditionsINTdeletionsINT

files:

ColumnTypecommit_idTEXTtree_idTEXTnameTEXTmodeTEXTtypeTEXTcontentsTEXT

refs:

ColumnTypenameTEXTtypeTEXThashTEXT

对了,这是一个 Go 语言项目。

版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://news.51cto.com/art/202007/620472.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 12:54:17
  • 阅读 ( 882 )
  • 分类:Go开源项目

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢