anilprasad / gitql

A git query language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gitql Build Status

Gitql is a Git query language.
In a repository path ...

how to use

See more here

Requirements

  • Go
  • cmake

Install

  • go get -u -d github.com/cloudson/gitql
  • cd $GOPATH/src/github.com/cloudson/gitql
  • make
  • sudo make install
  • export LD_LIBRARY_PATH=$PWD/libgit2/install/lib on linux or export DYLD_LIBRARY_PATH=$PWD/libgit2/install/libon Mac OS.

Examples

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

Look the table of commits:

commits
author
author_email
committer
committer_email
hash
date
message
full_message

(see more tables here)

You can do:

  • 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 kill git log ๐Ÿ˜… . It was created just for science!!
  • It's read-only. Nothing about delete, insert or update commits ๐Ÿ˜
  • The limit default is 10 rows
  • It's inspired by textql
  • But, why gitql is a compiler/interpreter instead of just read a sqlite database with all commits, tags and etc? Answer: Because we would need to sync the tables every time before run sql and we would have sqlite bases for each repository. ๐Ÿ˜

About

A git query language

License:MIT License


Languages

Language:Go 98.8%Language:Makefile 1.2%