vcs project manager
Project description
vcspull - vcs project manager
add projects to ~/.vcspull.yaml
~/code/:
flask: "git+https://github.com/mitsuhiko/flask.git"
~/study/c:
awesome: 'git+git://git.naquadah.org/awesome.git'
~/study/data-structures-algorithms/c:
libds: 'git+https://github.com/zhemao/libds.git'
algoxy:
repo: 'git+https://github.com/liuxinyu95/AlgoXY.git'
remotes:
tony: 'git+ssh://git@github.com/tony/AlgoXY.git'
see the author’s .vcspull.yaml, more examples.
update your repos
$ vcspull
keep nested VCS repositories updated too, lets say you have a mercurial or svn project with a git dependency:
external_deps.yaml in your project root, (can be anything):
./vendor/:
sdl2pp: 'git+https://github.com/libSDL2pp/libSDL2pp.git'
update:
$ vcspull -c external_deps.yaml
filter through hundreds of repos
supports fnmatch patterns
# any repo starting with "fla"
$ vcspull "fla*"
# any repo with django in the name
$ vcspull "*django*"
# search by vcs + url
# since urls are in this format <vcs>+<protocol>://<url>
$ vcspull "git+*"
# any git repo with python in the vcspull
$ vcspull "git+*python*
# any git repo with django in the vcs url
$ vcspull "git+*django*"
# all repositories in your ~/code directory
vcspull "$HOME/code/*"
supports svn, git, hg version control systems
automatically checkout fresh repositories
update to the latest repos with $ vcspull
Documentation, API and Examples.
builds upon pip’s RFC3986-based url scheme.
See the Quickstart.
python API
In [1]: from vcspull.repo import create_repo
In [2]: r = create_repo(url='git+https://www.github.com/tony/myrepo', cwd='/tmp/',
name='myrepo')
In [3]: r.update_repo()
|myrepo| (git) Repo directory for myrepo (git) does not exist @ /tmp/myrepo
|myrepo| (git) Cloning.
|myrepo| (git) git clone --progress https://www.github.com/tony/myrepo /tmp/myrepo
Cloning into '/tmp/myrepo'...
Checking connectivity... done.
|myrepo| (git) git fetch
|myrepo| (git) git pull
Already up-to-date.
More information
Python support |
Python 2.7, >= 3.3 |
VCS supported |
git(1), svn(1), hg(1) |
Config formats |
YAML, JSON, python dict |
Source |
|
Docs |
|
Changelog |
|
API |
|
Issues |
|
Travis |
|
Test Coverage |
|
pypi |
|
Open Hub |
|
License |
BSD. |
git repo |
|
install dev |
|
tests |
|
run |
|