vcs

VCS Repo management through a common interface in Go

Github星跟踪图

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.

主要指标

概览
名称与所有者Masterminds/vcs
主编程语言Go
编程语言Go (语言数: 2)
平台
许可证Other
所有者活动
创建于2015-07-24 16:06:34
推送于2022-03-31 14:40:37
最后一次提交2022-03-31 10:32:25
发布数28
最新版本名称v1.13.3 (发布于 2022-03-31 10:40:21)
第一版名称1.0.0 (发布于 )
用户参与
星数199
关注者数11
派生数60
提交数252
已启用问题?
问题数40
打开的问题数11
拉请求数51
打开的拉请求数3
关闭的拉请求数13
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?