Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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 readthedocs.org-style README.rst buttons
examples Documentation updates
pkg rename pullv package to vcspull. refactor.
vcspull vcspull 0.2.2
.coveragerc Ignore log.py in test coverage.
.gitignore Ignore rope project
.gitmodules
.tmuxp.yaml Multiple tweaks:
.travis.yml Add testrunner for 3.4
CHANGES vcspull 0.2.2
LICENSE LICENSE
MANIFEST.in v0.0.8.2 - fix packaging issue.
README.rst Update docs to use readthedocs.org-style README.rst buttons
TODO TODO
bootstrap_env.py Add mock to bootstrap_env.py
requirements.pip De-vendorize colorama
run-tests.py Add heavy pocoo / werkzeug win for testsuite superiority.
scent.py Fix sniffer on python 3
setup.py remove vcspull._vendor from package
tox.ini Add heavy pocoo / werkzeug win for testsuite superiority.

README.rst

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

https://raw.github.com/tony/vcspull/master/doc/_static/vcspull-demo.gif

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:

~/code/:
    "flask": "git+https://github.com/mitsuhiko/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 "*github.com*" "fla*"

Python API Usage

In [1]: from vcspull.repo import Repo

In [2]: r = Repo(url='git+https://www.github.com/tony/vim-config', cwd='/tmp/',
         name='vim-config')

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 https://www.github.com/tony/vim-config /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
Source https://github.com/tony/vcspull
Docs http://vcspull.rtfd.org
Changelog http://vcspull.readthedocs.org/en/latest/history.html
API http://vcspull.readthedocs.org/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 .env
$ source .env/bin/activate
$ pip install -e .
tests
$ python ./run-tests.py
run
$ vcspull
Something went wrong with that request. Please try again.