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
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.
In [1]: from vcspull.repo import create_repo
In [2]: r = create_repo(url='git+https://www.github.com/tony/myrepo', parent_dir='/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.
Python support | Python 2.7, >= 3.3 |
VCS supported | git(1), svn(1), hg(1) |
Config formats | YAML, JSON, python dict |
Source | https://github.com/tony/vcspull |
Docs | http://vcspull.rtfd.org |
Changelog | http://vcspull.readthedocs.io/en/latest/history.html |
API | http://vcspull.readthedocs.io/en/latest/api.html |
Issues | https://github.com/tony/vcspull/issues |
Travis | http://travis-ci.org/tony/vcspull |
Test Coverage | https://coveralls.io/r/tony/vcspull |
pypi | https://pypi.python.org/pypi/vcspull |
Open Hub | https://www.openhub.net/p/vcspull |
License | BSD. |
git repo | $ git clone https://github.com/tony/vcspull.git |
install dev | $ git clone https://github.com/tony/vcspull.git vcspull
$ cd ./vcspull
$ virtualenv .venv
$ source .venv/bin/activate
$ pip install -e . |
tests | $ python ./run-tests.py |
run | $ vcspull |