- SQLに似た構文で、DBの代わりに
.git ファイルをクエリできる言語
- 小さなエンジンが、別途DBや変換なしでRepoに対するリアルタイムクエリを実行
- SQLの大半の構文をサポート(グルーピング、並べ替え、集計を含む)
- Rust製のオープンソース
SELECT DISTINCT title AS tt FROM commits
SELECT name, COUNT(name) AS commit_num FROM commits GROUP BY name ORDER BY commit_num DESC LIMIT 10
SELECT commit_count FROM branches WHERE commit_count BETWEEN 0 .. 10
SELECT * FROM refs WHERE type = "branch"
SELECT * FROM refs ORDER BY type
SELECT * FROM commits
SELECT name, email FROM commits
SELECT name, email FROM commits ORDER BY name DESC, email ASC
SELECT name, email FROM commits WHERE name LIKE "%gmail%" ORDER BY name
SELECT * FROM commits WHERE LOWER(name) = "amrdeveloper"
SELECT name FROM commits GROUP By name
SELECT name FROM commits GROUP By name having name = "AmrDeveloper"
SELECT * FROM branches
SELECT * FROM branches WHERE is_head = true
SELECT name, LEN(name) FROM branches
SELECT * FROM tags
SELECT * FROM tags OFFSET 1 LIMIT 1
5件のコメント
awesome
インストールして、CLIで直接クエリを入力できないのが残念でした。
でも、リポジトリを直接ビルドして使うと、直接クエリを投げるオプションが使えるんですね。
おそらく次のバージョンに追加される予定のようです。
cargo run -- -q "SELECT * FROM tags"
こんな感じで使えます。
これでDevOps作業に使えます。 :)
大きなリポジトリで使用した場合、速度は問題ありませんでしたか? 気になります ^^
おお!
git log --numstatの出力をパースしてDBに入れ、SQLで分析する面倒な作業をたまにやっているのですが、これ一つで済みそうですね。おお…Git作業をするときにあれこれコマンドを使うより、便利そうにも見えますね。