src-d engine 包含了Babelfish ,同時能夠看做是Babelfish 的升級版本,咱們可使用sql 進行代碼分析
備註: 注意運行的時候須要容器支持node
參考相關文檔,或者直接安裝docker for desktop 版本的
https://github.com/src-d/engine/releases 下載版本,配置環境變量,或者拷貝path 路徑
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
srcd web sql
須要安裝驅動(代碼分析的,和Babelfish的相似)
srcd sql
show tables;
效果mysql
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 的提交信息git
https://docs.sourced.tech/engine/
https://github.com/src-d/gitbase
https://github.com/src-d/go-mysql-servergithub