Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/src-d/gitbase
SQL interface to git repositories, written in Go. https://docs.sourced.tech/gitbase
https://github.com/src-d/gitbase
ast git golang sql sql-interface
Last synced: 6 days ago
JSON representation
SQL interface to git repositories, written in Go. https://docs.sourced.tech/gitbase
- Host: GitHub
- URL: https://github.com/src-d/gitbase
- Owner: src-d
- License: apache-2.0
- Created: 2016-09-19T10:14:13.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-10-19T12:50:23.000Z (about 1 year ago)
- Last Synced: 2024-11-29T01:21:44.852Z (13 days ago)
- Topics: ast, git, golang, sql, sql-interface
- Language: Go
- Homepage:
- Size: 146 MB
- Stars: 2,064
- Watchers: 32
- Forks: 123
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome-repositories - src-d/gitbase - SQL interface to git repositories, written in Go. https://docs.sourced.tech/gitbase (Go)
- go-awesome - gitbase - Query Git logs in SQL (Open source library / Git)
- awesome-list - gitbase - d | 1952 | (Go)
README
# gitbase [![GitHub version](https://badge.fury.io/gh/src-d%2Fgitbase.svg)](https://github.com/src-d/gitbase/releases) [![Build Status](https://travis-ci.com/src-d/gitbase.svg?branch=master)](https://travis-ci.com/src-d/gitbase) [![codecov](https://codecov.io/gh/src-d/gitbase/branch/master/graph/badge.svg)](https://codecov.io/gh/src-d/gitbase) [![GoDoc](https://godoc.org/gopkg.in/src-d/gitbase.v0?status.svg)](https://godoc.org/gopkg.in/src-d/gitbase.v0) [![Go Report Card](https://goreportcard.com/badge/github.com/src-d/gitbase)](https://goreportcard.com/report/github.com/src-d/gitbase)
**gitbase**, is a SQL database interface to Git repositories.
This project is now part of [source{d} Community Edition](https://sourced.tech/products/community-edition/),
which provides the simplest way to get started with a single command.
Visit [https://docs.sourced.tech/community-edition](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](https://doc.bblf.sh/) 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](https://github.com/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](/docs/using-gitbase/examples.md) in [gitbase documentation](/docs).
## 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](/docs/using-gitbase/getting-started.md).
## License
Apache License Version 2.0, see [LICENSE](LICENSE)