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
$ vcspullkeep 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 |
