SQL interface to Git repositories, written in Go. https://docs.sourced.tech/gitbase
Clone or download
ajnavarro Merge pull request #674 from kuba--/fix-673/commit_files
Set index for commitFilesRowIter.
Latest commit 2e58f8e Jan 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Update .circleci/config.yml Dec 10, 2018
_testdata don't create an index on files (long running operation) Dec 20, 2018
cmd/gitbase Merge branch 'master' into feature/index-checksum Jan 14, 2019
docs upgrade go-mysql-server Jan 14, 2019
e2e e2e: use the first available port instead of a fixed one Dec 19, 2018
internal Merge branch 'master' into feature/index-checksum Jan 14, 2019
tools/rev-upgrade fix errors pointed out by staticcheck Jan 9, 2019
vendor upgrade go-mysql-server Jan 14, 2019
.gitbook.yaml Add documentation templates Jun 28, 2018
.gitignore revert .gitignore Oct 3, 2018
.travis.yml Merge branch 'master' into feature/bin-tests Dec 19, 2018
CONTRIBUTING.md Correct spelling Oct 23, 2018
DCO Add DCO file Jun 4, 2018
Dockerfile ci: fix versions of docker image binary Dec 19, 2018
Gopkg.lock upgrade go-mysql-server Jan 14, 2019
Gopkg.toml upgrade go-mysql-server Jan 14, 2019
Jenkinsfile regression: add Jenkinsfile Jan 4, 2019
LICENSE license: relicense to Apache 2.0 Apr 23, 2018
MAINTAINERS Create MAINTAINERS Apr 25, 2018
Makefile add e2e tests against the built binary Dec 18, 2018
README.md Include reference to source{d} Engine Nov 7, 2018
blobs.go gitbase: implement table checksums Jan 11, 2019
blobs_test.go gitbase: implement table checksums Jan 11, 2019
checksum.go fix checksum on siva files and make consistent checksums Jan 15, 2019
checksum_test.go fix checksum on siva files and make consistent checksums Jan 15, 2019
commit_blobs.go gitbase: implement table checksums Jan 11, 2019
commit_blobs_test.go gitbase: implement table checksums Jan 11, 2019
commit_files.go Set index for commitFilesRowIter. Jan 15, 2019
commit_files_test.go Add TestPartitionRowsWithIndex Jan 16, 2019
commit_trees.go gitbase: implement table checksums Jan 11, 2019
commit_trees_test.go gitbase: close siva FS after use Sep 26, 2018
commits.go Merge branch 'master' into feature/index-checksum Jan 14, 2019
commits_test.go gitbase: implement table checksums Jan 11, 2019
common_test.go gitbase: implement table checksums Jan 11, 2019
database.go gitbase: implement table checksums Jan 11, 2019
database_test.go gitbase: implement table checksums Jan 11, 2019
env.go vendor: add bblfsh client as dependency Apr 10, 2018
files.go gitbase: implement table checksums Jan 11, 2019
files_test.go gitbase: close siva FS after use Sep 26, 2018
filters.go fix errors pointed out by staticcheck Jan 9, 2019
filters_test.go Replace ([]string)(nil) with []string(nil) Oct 1, 2018
fs_error_test.go gitbase: implement table checksums Jan 11, 2019
index.go fix errors pointed out by staticcheck Jan 9, 2019
index_test.go *: make tables use the new partitionable interfaces Sep 10, 2018
integration_test.go Merge branch 'master' into feature/index-checksum Jan 14, 2019
packfiles.go fix errors pointed out by staticcheck Jan 9, 2019
packfiles_test.go gitbase: close siva FS after use Sep 26, 2018
partition.go gitbase: implement sql.PartitionCounter in all tables Sep 19, 2018
path_utils.go *: don't check in repository pool methods if is a siva/git valid repo… Aug 9, 2018
path_utils_test.go *: don't check in repository pool methods if is a siva/git valid repo… Aug 9, 2018
pull_request_template.md new rev-upgrade script Jul 4, 2018
ref_commits.go gitbase: implement table checksums Jan 11, 2019
ref_commits_test.go gitbase: implement table checksums Jan 11, 2019
references.go gitbase: implement table checksums Jan 11, 2019
references_test.go gitbase: implement table checksums Jan 11, 2019
regression_test.go *: replace pilosalib with new pilosa driver Sep 24, 2018
remotes.go gitbase: implement table checksums Jan 11, 2019
remotes_test.go gitbase: implement table checksums Jan 11, 2019
repositories.go gitbase: implement table checksums Jan 11, 2019
repositories_test.go gitbase: implement table checksums Jan 11, 2019
repository_pool.go fix errors pointed out by staticcheck Jan 9, 2019
repository_pool_test.go gitbase: close siva FS after use Sep 26, 2018
session.go Upgrade mysql + tableau support + auth interface. Nov 8, 2018
session_test.go gitbase: add a more descriptive error connecting to bblfsh Jul 30, 2018
squash.go gitbase: implement sql.PartitionCounter in all tables Sep 19, 2018
squash_iterator.go gitbase: remove warnings on symbolic references Sep 20, 2018
squash_iterator_test.go Merge branch 'master' into feature/index-checksum Jan 14, 2019
table.go gitbase: implement table checksums Jan 11, 2019
table_test.go gitbase: show pushed down properties to tables in explain Dec 5, 2018
tree_entries.go gitbase: implement table checksums Jan 11, 2019
tree_entries_test.go gitbase: implement table checksums Jan 11, 2019
utils.go *: make tables use the new partitionable interfaces Sep 10, 2018

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} Engine, which provides the simplest way to get started with a single command. Visit sourced.tech/engine 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