Skip to content

vcs-python/vcspull

ย 
ย 

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

Languages