All Projects → Masterminds → Vcs

Masterminds / Vcs

Licence: other
VCS Repo management through a common interface in Go

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Vcs

Vcspull
🔄 synchronize projects via yaml/json manifest. built on libvcs
Stars: ✭ 187 (+9.36%)
Mutual labels:  svn, vcs
Source Integration
Source control integration plugin framework for MantisBT, including support for Github, Gitlab, Bitbucket, Gitweb, Cgit, Subversion, Mercurial and more
Stars: ✭ 167 (-2.34%)
Mutual labels:  svn, vcs
libvcs
⚙️ Lite, typed, pythonic utilities for git, svn, mercurial, etc.
Stars: ✭ 43 (-74.85%)
Mutual labels:  svn, vcs
vcs
PHP interface for version control systems
Stars: ✭ 59 (-65.5%)
Mutual labels:  svn, vcs
Svn Docker
Lightweight Docker image to build a container running an SVN server
Stars: ✭ 87 (-49.12%)
Mutual labels:  svn
Accompli
An easy to use and extendable deployment tool for (PHP) projects.
Stars: ✭ 9 (-94.74%)
Mutual labels:  svn
Isomorphic Git
A pure JavaScript implementation of git for node and browsers!
Stars: ✭ 6,033 (+3428.07%)
Mutual labels:  vcs
Wpackagist
WordPress Packagist — manage your plugins with Composer
Stars: ✭ 558 (+226.32%)
Mutual labels:  svn
Precommit
pre-commit hooks for R projects
Stars: ✭ 141 (-17.54%)
Mutual labels:  vcs
Wp Plugin Git Svn Sync
☄️ Zero config synchronizing of Git repository with SVN for publishing WordPress plugins.
Stars: ✭ 81 (-52.63%)
Mutual labels:  svn
Websvn
Fork from WebSVN
Stars: ✭ 66 (-61.4%)
Mutual labels:  svn
Forgefed
An extension to ActivityPub for web-based Git services federation.
Stars: ✭ 874 (+411.11%)
Mutual labels:  vcs
Gitlink
A Jetbrains plugin that opens a local file under Git version control in its remote host using the default browser.
Stars: ✭ 101 (-40.94%)
Mutual labels:  vcs
Composer Asset Plugin
NPM/Bower Dependency Manager for Composer
Stars: ✭ 898 (+425.15%)
Mutual labels:  vcs
Ansible Role Git
Ansible Role - Git
Stars: ✭ 153 (-10.53%)
Mutual labels:  vcs
Cpm.cmake
📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.
Stars: ✭ 560 (+227.49%)
Mutual labels:  svn
Git Cola
git-cola: The highly caffeinated Git GUI
Stars: ✭ 1,787 (+945.03%)
Mutual labels:  vcs
Scm Manager
The easiest way to share and manage your Git, Mercurial and Subversion repositories over http.
Stars: ✭ 50 (-70.76%)
Mutual labels:  svn
Svn Stash
It's like git stash , but for Subversion.
Stars: ✭ 49 (-71.35%)
Mutual labels:  svn
Node Svn Spawn
Easy way to access svn repository with node.js.
Stars: ✭ 85 (-50.29%)
Mutual labels:  svn

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].