Check the Releases page to download the gitquery binary.
Usage:
gitquery [OPTIONS] <query | shell | version>
Help Options:
-h, --help Show this help message
Available commands:
query Execute a SQL query a repository.
shell Start an interactive session.
version Show the version information.
For example:
$ cd my_git_repo
$ gitquery query 'SELECT hash, author_email, author_name FROM commits LIMIT 2;'
SELECT hash, author_email, author_name FROM commits LIMIT 2;
+------------------------------------------+---------------------+-----------------------+
| HASH | AUTHOR EMAIL | AUTHOR NAME |
+------------------------------------------+---------------------+-----------------------+
| 003dc36e0067b25333cb5d3a5ccc31fd028a1c83 | user1@test.io | Santiago M. Mola |
| 01ace9e4d144aaeb50eb630fed993375609bcf55 | user2@test.io | Antonio Navarro Perez |
+------------------------------------------+---------------------+-----------------------+
You can use the interactive shell like you usually do to explore tables in postgreSQL per example:
$ gitquery shell
gitQL SHELL
-----------
You must end your queries with ';'
!> SELECT hash, author_email, author_name FROM commits LIMIT 2;
--> Executing query: SELECT hash, author_email, author_name FROM commits LIMIT 2;
+------------------------------------------+---------------------+-----------------------+
| HASH | AUTHOR EMAIL | AUTHOR NAME |
+------------------------------------------+---------------------+-----------------------+
| 003dc36e0067b25333cb5d3a5ccc31fd028a1c83 | user1@test.io | Santiago M. Mola |
| 01ace9e4d144aaeb50eb630fed993375609bcf55 | user2@test.io | Antonio Navarro Perez |
+------------------------------------------+---------------------+-----------------------+
!>
gitquery exposes the following tables:
Name | Columns |
---|---|
commits | hash, author_name, author_email, author_time, comitter_name, comitter_email, comitter_time, message |
blobs | hash, size |
refs | name, type, hash, target, is_branch, is_note, is_remote, is_tag |
tags | hash, name, tagger_email, tagger_name, tagger_when, message, target |
tree_entries | tree_hash, entry_hash, mode, name |
We are continuously adding more functionality to gitquery. We support a subset of the SQL standard, currently including:
Supported | |
---|---|
Comparison expressions | !=, ==, >, <, >=,<= |
Grouping expressions | COUNT, FIRST |
Standard expressions | ALIAS, LITERAL, STAR (*) |
Statements | CROSS JOIN, DESCRIBE, FILTER (WHERE), GROUP BY, LIMIT, SELECT, SHOW TABLES, SORT |
gitquery is licensed under the MIT License.