Skip to content
forked from src-d/gitbase

SQL interface to Git repositories, written in Go.

License

Notifications You must be signed in to change notification settings

leepro/gitquery

Repository files navigation

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.

About

SQL interface to Git repositories, written in Go.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go99.1%
  • Shell0.9%