libvcs
- abstraction layer for vcs
Install:
$ pip install libvcs
Open up python:
$ python
>>> from libvcs.shortcuts import create_repo_from_pip_url, create_repo
# repo is an object representation of a vcs repository.
>>> r = create_repo(url='https://www.github.com/tony/myrepo',
... vcs='git',
... repo_dir='/tmp/repo')
# or via pip-style URL
... r = create_repo_from_pip_url(
... pip_url='git+https://www.github.com/tony/myrepo',
... repo_dir='/tmp/repo')
# it may or may not be checked out/cloned on the system yet
>>> r.update_repo()
|myrepo| (git) Repo directory for myrepo (git) does not exist @ /tmp/myrepo
|myrepo| (git) Cloning.
|myrepo| (git) git clone 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.
Python support | Python 2.7, >= 3.3 |
VCS supported | git(1), svn(1), hg(1) |
Source | https://github.com/tony/libvcs |
Docs | http://libvcs.rtfd.org |
Changelog | http://libvcs.readthedocs.io/en/latest/history.html |
API | http://libvcs.readthedocs.io/en/latest/api.html |
Issues | https://github.com/tony/libvcs/issues |
Travis | http://travis-ci.org/tony/libvcs |
Test Coverage | https://codecov.io/gh/tony/libvcs |
pypi | https://pypi.python.org/pypi/libvcs |
Open Hub | https://www.openhub.net/p/libvcs |
License | BSD. |
git repo |
$ git clone https://github.com/tony/libvcs.git |
install dev |
$ git clone https://github.com/tony/libvcs.git libvcs
$ cd ./libvcs
$ virtualenv .venv
$ source .venv/bin/activate
$ pip install -e . |
tests |
$ py.test |