Skip to main content

vcs project manager

Project description

vcspull - vcs project manager

Python Package Documentation Status Build Status Code Coverage License

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

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

$ vcspull

keep 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

filter through hundreds of repos

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/*"

See the Quickstart.

python API

In [1]: from vcspull.repo import create_repo

In [2]: r = create_repo(url='git+https://www.github.com/tony/myrepo', cwd='/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.

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

Project details


Release history Release notifications | RSS feed

Supported by

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