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.0.tar.gz (42.8 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for vcspull-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ac59cc525e96d0e40e364014fb5623cd236809aa9c7663046af5e29537ca169c
MD5 164c8ec032166aaa7738f3ecf9d48b8e
BLAKE2b-256 be8d393fd7f8ffacc270e8766eb4e7c1fa32eb7e8ae40ffce9cab14ad2a499cf

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