A git query language
Clone or download
frahman5 and cloudson Added not reserved keyword. Works for both not in and not like (#68)
* Added not reserved keyword. Functions for both not in and not like

* removed all vestiges of T_NOT_OR_T_LIKE

* Deleting IDE files (1)

* Deleting IDE files (2)

* Deleting IDE files (3)

* Deleting IDE files (4)

* Deleting IDE files (5)

* Fixing spaces on tokens.go
Latest commit a3f1a73 Oct 15, 2018

README.md

Gitql Build Status

Gitql is a Git query language.

In a repository path...

how to use

See more here

Requirements

  • Go
  • cmake
  • pkg-config

Install

  • go get -u -d github.com/cloudson/gitql
  • cd $GOPATH/src/github.com/cloudson/gitql
  • make
  • sudo make install

Examples

gitql "your query"
or
git ql "your query"

As an example, this is the commits table:

commits
author
author_email
committer
committer_email
hash
date
message
full_message

(see more tables here)

Example Commands

  • select hash, author, message from commits limit 3
  • select hash, message from commits where 'hell' in full_message or 'Fuck' in full_message
  • select hash, message, author_email from commits where author = 'cloudson'
  • select date, message from commits where date < '2014-04-10'
  • select message from commits where 'hell' in message order by date asc

Questions?

gitql -h or open an issue

Notes:

  • Gitql doesn't want to kill git log - it was created just for science! 😅
  • It's read-only - no deleting, inserting, or updating tables or commits. 😝
  • The default limit is 10 rows.
  • It's inspired by textql.
  • Gitql is a compiler/interpreter instead of just read a sqlite database with all commits, tags, etc. because we would need to sync the tables every time before run sql and we would have sqlite bases for each repository. 😐