Categorygithub.com/sqle/gitquery
repositorypackage
0.8.0
Repository: https://github.com/sqle/gitquery.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

gitquery

codebeat badge

Build Status

codecov

GoDoc

Installation

Check the Releases page to download the gitquery binary.

Usage

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 | [email protected]       | Santiago M. Mola      |
| 01ace9e4d144aaeb50eb630fed993375609bcf55 | [email protected]       | 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 | [email protected]       | Santiago M. Mola      |
| 01ace9e4d144aaeb50eb630fed993375609bcf55 | [email protected]       | Antonio Navarro Perez |
+------------------------------------------+---------------------+-----------------------+
!>  

Tables

gitquery exposes the following tables:

NameColumns
commitshash, author_name, author_email, author_time, comitter_name, comitter_email, comitter_time, message
blobshash, size
refsname, type, hash, target, is_branch, is_note, is_remote, is_tag
tagshash, name, tagger_email, tagger_name, tagger_when, message, target
tree_entriestree_hash, entry_hash, mode, name

SQL syntax

We are continuously adding more functionality to gitquery. We support a subset of the SQL standard, currently including:

Supported
Comparison expressions!=, ==, >, <, >=,<=
Grouping expressionsCOUNT, FIRST
Standard expressionsALIAS, LITERAL, STAR (*)
StatementsCROSS JOIN, DESCRIBE, FILTER (WHERE), GROUP BY, LIMIT, SELECT, SHOW TABLES, SORT

License

gitquery is licensed under the MIT License.