Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

vcs-python/vcspull

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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', parent_dir='/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

About

🔄 Synchronize projects via yaml/json manifest. Built using `libvcs`.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 6

Morty Proxy This is a proxified and sanitized view of the page, visit original site.