Gitql is a Git query language.
In a repository path...
See more here
Reading the code
- Go 1.16+
How to install
You can access the releases page and just grab the binary. If you want to compile itself just run
go build ..
gitql "your query"
git ql "your query"
As an example, this is the
(see more tables here)
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
select distinct author from commits where date < '2020-01-01'
gitql or open an issue
- 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.