Skip to content
SQL interface to git repositories, written in Go. https://docs.sourced.tech/gitbase
Go Other
  1. Go 99.5%
  2. Other 0.5%
Branch: master
Clone or download

Latest commit

ajnavarro Add file parameter to blame so it doesn't return all the results… (#988)
Add file parameter to blame so it doesn't return all the results from a commit
Latest commit c9a16f3 Oct 30, 2019

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_testdata *: upgrade go-borges to support metadata reload Aug 23, 2019
cmd/gitbase *: upgrade go-borges to support metadata reload Aug 23, 2019
docs Change blame to use file arg Oct 29, 2019
e2e makefile: fix adding version in generated binaries Apr 4, 2019
internal Add context cancellation handling to Blame Oct 29, 2019
tools/rev-upgrade move to go modules and upgrade bblfsh client version Jun 11, 2019
.gitbook.yaml Add documentation templates Jun 28, 2018
.gitignore remove vendor folder Jun 13, 2019
.travis.yml Merge branch 'master' into no-cdeps Aug 7, 2019
CHANGELOG.md Update changelog Oct 29, 2019
CODEOWNERS Change MAINTAINERS and added CODEOWNERS Oct 11, 2019
CONTRIBUTING.md Correct spelling Oct 23, 2018
DCO Add DCO file Jun 4, 2018
Dockerfile use goproxy Aug 7, 2019
Jenkinsfile add jenkins slack notifications Oct 23, 2019
LICENSE license: relicense to Apache 2.0 Apr 23, 2018
MAINTAINERS Change MAINTAINERS and added CODEOWNERS Oct 11, 2019
Makefile Fix container build Jun 18, 2019
README.md Change mention to 'engine' to use 'source{d} CE' Jul 2, 2019
blobs.go Switch some TEXT types to VARCHAR Jul 4, 2019
blobs_test.go gitbase: fix close repository test Jun 20, 2019
checksum.go use go-borges instead of repository_pool to manage repos Jun 20, 2019
checksum_test.go use go-borges instead of repository_pool to manage repos Jun 20, 2019
commit_blobs.go Switch some TEXT types to VARCHAR Jul 4, 2019
commit_blobs_test.go gitbase: fix close repository test Jun 20, 2019
commit_files.go Switch some TEXT types to VARCHAR Jul 4, 2019
commit_files_test.go fix files table by removing git log usage Jul 5, 2019
commit_trees.go Switch some TEXT types to VARCHAR Jul 4, 2019
commit_trees_test.go gitbase: fix close repository test Jun 20, 2019
commits.go Switch some TEXT types to VARCHAR Jul 4, 2019
commits_test.go gitbase: fix close repository test Jun 20, 2019
common_test.go *: upgrade go-borges to support metadata reload Aug 23, 2019
database.go move to go modules and upgrade bblfsh client version Jun 11, 2019
database_test.go gitbase: update go-borges and support old siva files Jun 28, 2019
env.go vendor: add bblfsh client as dependency Apr 10, 2018
files.go fix files table by removing git log usage Jul 5, 2019
files_test.go fix files table by removing git log usage Jul 5, 2019
filters.go move to go modules and upgrade bblfsh client version Jun 11, 2019
filters_test.go move to go modules and upgrade bblfsh client version Jun 11, 2019
fs_error_test.go gitbase: report repository id on errors Jul 3, 2019
go.mod Upgrade go-mysql-server dependency Oct 28, 2019
go.sum Upgrade go-mysql-server dependency Oct 28, 2019
index.go move to go modules and upgrade bblfsh client version Jun 11, 2019
index_test.go use go-borges instead of repository_pool to manage repos Jun 20, 2019
init.sh Let the user define LOG_LEVEL=info using docker Jul 19, 2019
integration_test.go Change blame to use file arg Oct 29, 2019
packfiles.go use go-borges instead of repository_pool to manage repos Jun 20, 2019
packfiles_test.go Improve test coverage Jun 28, 2019
partition.go gitbase: report repository id on errors Jul 3, 2019
path_utils.go handle backslashes correctly May 20, 2019
path_utils_test.go upgrade go-git-fixtures Jun 11, 2019
pull_request_template.md Add checks on PRs May 31, 2019
ref_commits.go Switch some TEXT types to VARCHAR Jul 4, 2019
ref_commits_test.go gitbase: fix close repository test Jun 20, 2019
references.go Switch some TEXT types to VARCHAR Jul 4, 2019
references_test.go gitbase: fix close repository test Jun 20, 2019
regression_test.go tests: make regression tests use squash rule Jun 11, 2019
remotes.go gitbase: report repository id on errors Jul 3, 2019
remotes_test.go gitbase: fix close repository test Jun 20, 2019
repositories.go gitbase: report repository id on errors Jul 3, 2019
repositories_test.go gitbase: use only one cache for all reposiories Jun 21, 2019
repository_pool.go Improve test coverage Jun 28, 2019
repository_pool_test.go fix files table by removing git log usage Jul 5, 2019
session.go Fix aliases usage on bblfsh client impl. Jun 19, 2019
session_test.go Fix aliases usage on bblfsh client impl. Jun 19, 2019
squash.go gitbase: report repository id on errors Jul 3, 2019
squash_iterator.go use go-mysql-server condition evaluation logic Jun 24, 2019
squash_iterator_test.go Improve test coverage Jun 28, 2019
table.go move to go modules and upgrade bblfsh client version Jun 11, 2019
table_test.go move to go modules and upgrade bblfsh client version Jun 11, 2019
tree_entries.go Switch some TEXT types to VARCHAR Jul 4, 2019
tree_entries_test.go gitbase: fix close repository test Jun 20, 2019
utils.go move to go modules and upgrade bblfsh client version Jun 11, 2019

README.md

gitbase GitHub version Build Status codecov GoDoc Go Report Card

gitbase, is a SQL database interface to Git repositories.

This project is now part of source{d} Community Edition, which provides the simplest way to get started with a single command. Visit https://docs.sourced.tech/community-edition for more information.

It can be used to perform SQL queries about the Git history and about the Universal AST of the code itself. gitbase is being built to work on top of any number of git repositories.

gitbase implements the MySQL wire protocol, it can be accessed using any MySQL client or library from any language.

src-d/go-mysql-server is the SQL engine implementation used by gitbase.

Status

The project is currently in alpha stage, meaning it's still lacking performance in a number of cases but we are working hard on getting a performant system able to process thousands of repositories in a single node. Stay tuned!

Examples

You can see some query examples in gitbase documentation.

Motivation and scope

gitbase was born to ease the analysis of git repositories and their source code.

Also, making it MySQL compatible, we provide the maximum compatibility between languages and existing tools.

It comes as a single self-contained binary and it can be used as a standalone service. The service is able to process local repositories and integrates with existing tools and frameworks to simplify source code analysis on a large scale. The integration with Apache Spark is planned and is currently under active development.

Further reading

From here, you can directly go to getting started.

License

Apache License Version 2.0, see LICENSE

You can’t perform that action at this time.