Skip to main content

Manage git, mercurial and svn repositories through CLI. Configure with JSON / YAML files.

Project description

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

|pypi| |docs| |build-status| |coverage| |license|

.. image:: https://raw.github.com/tony/vcspull/master/doc/_static/vcspull-demo.gif
:scale: 100%
:width: 45%
:align: center

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

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

* 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`_ to jump in. Or see an `example .vcspull.yaml`_.

Command line Usage
------------------

Create a ``.vcspull.yaml``:

.. code-block:: yaml

~/code/:
"flask": "git+https://github.com/mitsuhiko/flask.git"

Clone and update your repositories at any time:

.. code-block:: bash

$ vcspull

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

.. code-block:: bash

$ vcspull flask

Use `fnmatch`_:

.. code-block:: bash

# 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
----------------

.. code-block:: python

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.

.. _RFC3986: http://tools.ietf.org/html/rfc3986.html
.. _example .vcspull.yaml: https://github.com/tony/.dot-config/blob/master/.vcspull.yaml
.. _fnmatch: http://pubs.opengroup.org/onlinepubs/009695399/functions/fnmatch.html

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 .. code-block:: bash

$ git clone https://github.com/tony/vcspull.git
install dev .. code-block:: bash

$ git clone https://github.com/tony/vcspull.git vcspull
$ cd ./vcspull
$ virtualenv .env
$ source .env/bin/activate
$ pip install -e .
tests .. code-block:: bash

$ python ./run-tests.py
run .. code-block:: bash

$ vcspull
============== ==========================================================

.. _BSD: http://opensource.org/licenses/BSD-3-Clause
.. _Documentation: http://vcspull.readthedocs.org/en/latest/
.. _API: http://vcspull.readthedocs.org/en/latest/api.html
.. _Examples: http://vcspull.readthedocs.org/en/latest/examples.html
.. _Quickstart: http://vcspull.readthedocs.org/en/latest/quickstart.html
.. _pip: http://www.pip-installer.org/en/latest/
.. _url scheme: http://www.pip-installer.org/en/latest/logic.html#vcs-support
.. _saltstack: http://www.saltstack.org

.. |pypi| image:: https://img.shields.io/pypi/v/vcspull.svg
:alt: Python Package
:target: http://badge.fury.io/py/vcspull

.. |build-status| image:: https://img.shields.io/travis/tony/vcspull.svg
:alt: Build Status
:target: https://travis-ci.org/tony/vcspull

.. |coverage| image:: https://img.shields.io/coveralls/tony/vcspull.svg
:alt: Code Coverage
:target: https://coveralls.io/r/tony/vcspull?branch=master

.. |license| image:: https://img.shields.io/github/license/tony/vcspull.svg
:alt: License

.. |docs| image:: https://readthedocs.org/projects/vcspull/badge/?version=latest
:alt: Documentation Status
:scale: 100%
:target: https://readthedocs.org/projects/vcspull/

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vcspull-0.2.2.tar.gz (36.1 kB view details)

Uploaded Source

File details

Details for the file vcspull-0.2.2.tar.gz.

File metadata

  • Download URL: vcspull-0.2.2.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for vcspull-0.2.2.tar.gz
Algorithm Hash digest
SHA256 41901eb0e18878b759328fb6127e403c1189418ee283664faf9de358d9724957
MD5 2d989576ba5454ed9bbb6e398cb2aa92
BLAKE2b-256 9edf8796283bce9c775c83c9ffcf40b82e4481df8eeb3ae16d57f7450490065e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page