vcs

VCS Repo management through a common interface in Go

Github stars Tracking Chart

VCS Repository Management for Go

Manage repos in varying version control systems with ease through a common
interface.

Build Status GoDoc Go Report Card
Build status

Quick Usage

Quick usage:

remote := "https://github.com/Masterminds/vcs"
local, _ := ioutil.TempDir("", "go-vcs")
repo, err := NewRepo(remote, local)

In this case NewRepo will detect the VCS is Git and return a GitRepo. All of
the repos implement the Repo interface with a common set of features between
them.

Supported VCS

Git, SVN, Bazaar (Bzr), and Mercurial (Hg) are currently supported. They each
have their own type (e.g., GitRepo) that follow a simple naming pattern. Each
type implements the Repo interface and has a constructor (e.g., NewGitRepo).
The constructors have the same signature as NewRepo.

Features

  • Clone or checkout a repository depending on the version control system.
  • Pull updates to a repository.
  • Get the currently checked out commit id.
  • Checkout a commit id, branch, or tag (depending on the availability in the VCS).
  • Get a list of tags and branches in the VCS.
  • Check if a string value is a valid reference within the VCS.
  • More...

For more details see the documentation.

Motivation

The package golang.org/x/tools/go/vcs provides some valuable functionality
for working with packages in repositories in varying source control management
systems. That package, while useful and well tested, is designed with a specific
purpose in mind. Our uses went beyond the scope of that package. To implement
our scope we built a package that went beyond the functionality and scope
of golang.org/x/tools/go/vcs.

Main metrics

Overview
Name With OwnerMasterminds/vcs
Primary LanguageGo
Program languageGo (Language Count: 2)
Platform
License:Other
所有者活动
Created At2015-07-24 16:06:34
Pushed At2022-03-31 14:40:37
Last Commit At2022-03-31 10:32:25
Release Count28
Last Release Namev1.13.3 (Posted on 2022-03-31 10:40:21)
First Release Name1.0.0 (Posted on )
用户参与
Stargazers Count199
Watchers Count11
Fork Count60
Commits Count252
Has Issues Enabled
Issues Count40
Issue Open Count11
Pull Requests Count51
Pull Requests Open Count3
Pull Requests Close Count13
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private