mergestat-lite
is a command-line tool for running SQL queries on git repositories and related data sources.
It's meant for ad-hoc querying of source-code on disk through a common interface (SQL), as an alternative to patching together various shell commands.
It can execute queries that look like:
-- how many commits have been authored by user@email.com?
SELECT count(*) FROM commits WHERE author_email = 'user@email.com'
It installs a binary named mergestat
.
More in-depth examples and documentation can be found on our dedicated documentation site.
Join our community on Slack if you have questions, or just to say hi 🎉.
See the full instructions in our documentation.
brew tap mergestat/mergestat
brew install mergestat
docker run -v "${PWD}:/repo" mergestat/mergestat "select count(*) from commits"
SQL queries can be executed in the CLI on local or remote git repositories. Remote repos are cloned to a temporary directory at runtime.
The --format
flag can be used to output json
, ndjson
, csv
and more (see mergestat -h
).
This can be useful for piping/using with other tools.
Higher level commands such as mergestat summarize commits
generate reports without requiring a SQL input.
Learn more here about the available flags such as --start
to change the date range and --json
to output as JSON.