Skip to content


Subversion checkout URL

You can clone with
Download ZIP
:arrow_down_small: mass update git, hg and svn repos simultaneously from YAML / JSON file.
Python Shell
Failed to load latest commit information.
doc Update docs to use README.rst buttons
examples Documentation updates
pkg rename pullv package to vcspull. refactor.
vcspull vcspull 0.2.2
.coveragerc Ignore in test coverage.
.gitignore Ignore rope project
.tmuxp.yaml Multiple tweaks:
.travis.yml Add testrunner for 3.4
CHANGES vcspull 0.2.2
LICENSE LICENSE v0.0.8.2 - fix packaging issue.
README.rst Update docs to use README.rst buttons
TODO TODO Add mock to
requirements.pip De-vendorize colorama Add heavy pocoo / werkzeug win for testsuite superiority. Fix sniffer on python 3 remove vcspull._vendor from package
tox.ini Add heavy pocoo / werkzeug win for testsuite superiority.


vcspull - manage your git, mercurial and svn repositories via CLI. Configure via JSON / YAML config files.

Python Package Documentation Status Build Status Code Coverage License

Above: Run svn update, git pull, hg pull && hg update en masse.

Sync multiple git, mercurial and subversion repositories via a YAML / JSON file.

See the Quickstart to jump in. Or see an example .vcspull.yaml.

Command line Usage

Create a .vcspull.yaml:

    "flask": "git+"

Clone and update your repositories at any time:

$ vcspull

Have a lot of projects? Use arguments to clone / update what you need.

$ vcspull flask

Use fnmatch:

# any repo starting with "fla"
$ vcspull "fla*"

# inside of a directory with "co" anywhere, on github.
$ vcspull -d "*co*" -r "**" "fla*"

Python API Usage

In [1]: from vcspull.repo import Repo

In [2]: r = Repo(url='git+', cwd='/tmp/',

In [3]: r.update_repo()
|vim-config| (git)  Repo directory for vim-config (git) does not exist @ /tmp/vim-config
|vim-config| (git)  Cloning.
|vim-config| (git)  git clone --progress /tmp/vim-config
Cloning into '/tmp/vim-config'...
Checking connectivity... done.
|vim-config| (git)  git fetch
|vim-config| (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
Test Coverage
Open Hub
License BSD.
git repo
$ git clone
install dev
$ git clone vcspull
$ cd ./vcspull
$ virtualenv .env
$ source .env/bin/activate
$ pip install -e .
$ python ./
$ vcspull
Something went wrong with that request. Please try again.