go-vcs alternatives and similar packages
Based on the "Version Control" category.
Alternatively, view go-vcs alternatives based on common mentions on social networks and blogs.
-
glab
DISCONTINUED. The GitLab CLI tool. Archived: now officially adopted by GitLab as the official CLI tool and maintained at https://gitlab.com/gitlab-org/cli. See https://github.com/profclems/glab/issues/983 -
githooks
🦎 Githooks: per-repo and shared Git hooks with version control and auto update. [✩Star] if you're using it!
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of go-vcs or a related project?
Popular Comparisons
README
go-vcs - manipulate and inspect VCS repositories
go-vcs is a library for manipulating and inspecting VCS repositories in Go. It currently supports Git and Mercurial (hg).
Note: the public API is experimental and subject to change until further notice.
Resolving dependencies
For hg blame, you need to install hglib: pip install python-hglib
.
Installing
go get -u sourcegraph.com/sourcegraph/go-vcs/vcs
Implementation differences
The goal is to have all supported backends at feature parity, but until then, consult this table for implementation differences.
Feature | git | gitcmd | hg | hgcmd |
---|---|---|---|---|
vcs.CommitsOptions.Path | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
vcs.BranchesOptions.MergedInto | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
vcs.BranchesOptions.IncludeCommit | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
vcs.BranchesOptions.BehindAheadBranch | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
vcs.Repository.Committers | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
vcs.FileLister | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
vcs.UpdateResult | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
Contributions that fill in the gaps are welcome!
Development
First-time installation of protobuf and other codegen tools
You need to install and run the protobuf compiler before you can regenerate Go code after you change the vcs.proto
file.
Install protoc, the protobuf compiler. Find more details in the protobuf README.
On OS X, you can install it with Homebrew by running:
brew install --devel protobuf
Then make sure the
protoc
binary is in your$PATH
.Install gogo/protobuf.
go get -u github.com/gogo/protobuf/...
Install
gopathexec
:go get -u sourcegraph.com/sourcegraph/gopathexec
Regenerating Go code after changing vcs.proto
go generate sourcegraph.com/sourcegraph/go-vcs/vcs/...
Running tests
Run go test ./vcs/...
.
Contributors
- Quinn Slack [email protected]
See all contributors here.