Gitql is a Git query language.
In a repository path ...
See more here
go get -u -d github.com/cloudson/gitql
sudo make install
export LD_LIBRARY_PATH=$PWD/libgit2/install/libon linux or
export DYLD_LIBRARY_PATH=$PWD/libgit2/install/libon Mac OS.
gitql "your query"
git ql "your query"
Look the table of commits:
(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
gitql -h or open an issue
- 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 everytime before run sql and we would have sqlite bases for each repository.