ZC buildout extension to checkout eggs from various vcs
Project description
What is gp.vcsdevelop ?
This package allow you to checkout some package and use them as developed eggs with zc.buildout.
Available options
develop-dir: a directory to checkout packages in
vcs-extend-develop: A list of vcs url. See pip’s editable parameter. Available schemes are ssh, svn, git, hg, bzr, sftp.
vcs-update:
If true on every run buildout try updating egg. As example for hg+https run hg pull -u
If always then remove existing code from filesystem and get a fresh checkout
requirements:
A path to a pip requirement file.
Usage
Basic usage
Use this package as a zc.buildout extension and provide some vcs urls in the vcs-extend-develop option:
>>> write('buildout.cfg',''' ... [buildout] ... extensions=gp.vcsdevelop ... vcs-extend-develop=hg+https://gawel@bitbucket.org/ianb/pip/@tip#egg=pip ... parts= ... ''')
Then if you run buildout, the package will be checkout from the repository:
>>> print 'Start', system(buildout) Start... Cloning hg https://gawel@bitbucket.org/ianb/pip/ (to revision tip) to ./pip Found command 'hg' at '...' Develop: '/...buildout/pip' ...
Packages can be found in the develop-dir (default to .). You can override this:
>>> write('buildout.cfg',''' ... [buildout] ... extensions=gp.vcsdevelop ... develop-dir=./src ... vcs-extend-develop=git+https://github.com/pypa/pip.git/@1.1#egg=pip ... parts= ... ''') >>> print 'Start', system(buildout) Start... Cloning https://github.com/pypa/pip.git/ (to 1.1) to ./src/pip Found command 'git' at '...' ... Develop: '/...buildout/./src/pip' ...
Non-python packages
You can also checkout non-python packages but you’ll get a warning:
>>> write('buildout.cfg',''' ... [buildout] ... extensions=gp.vcsdevelop ... develop-dir=./src ... vcs-extend-develop=git+git://github.com/benoitc/couchbeam.git#egg=couchbeam ... parts= ... ''') >>> print 'Start', system(buildout).strip() Start... Cloning git://github.com/benoitc/couchbeam.git to ./src/couchbeam Found command 'git' at '...' Warning: ./src/couchbeam is not a python package
Git submodules
gp.vcsdevelop is aware of Git’s submodules at the first level:
>>> write('buildout.cfg',''' ... [buildout] ... extensions=gp.vcsdevelop ... develop-dir=./src ... vcs-extend-develop=git+git://github.com/bearstech/PloneTerminal.git#egg=PloneTerminal ... parts= ... ''') >>> print 'Start', system(buildout).strip() Start... Cloning git://github.com/bearstech/PloneTerminal.git to ./src/PloneTerminal Found command 'git' at '...' Submodule 'jquery.terminal' (git://github.com/jcubic/jquery.terminal.git) registered for path 'ploneterminal/statics/jquery.terminal' <BLANKLINE> Cloning into ploneterminal/statics/jquery.terminal... Submodule path 'ploneterminal/statics/jquery.terminal': checked out '...' <BLANKLINE> Develop: '/...buildout/./src/PloneTerminal' ... >>> ls('src', 'PloneTerminal', 'ploneterminal', 'statics', 'jquery.terminal') d .git - CHANGELOG - README d css d examples d js d trypython
pip requirements file
gp.vcsdevelop can take care of your requirements file. All packages names contained by the requirements file can be found in a var named ${buildout:requirements-eggs}:
>>> write('buildout.cfg',''' ... [buildout] ... extensions=gp.vcsdevelop ... develop-dir=./requirements ... requirements = requirements.txt ... parts= eggs ... ... [eggs] ... recipe = zc.recipe.egg ... eggs = ${buildout:requirements-eggs} ... interpreter = python ... ''') >>> write('requirements.txt', ''' ... ConfigObject>=1.0 ... -e git+git://github.com/bearstech/PloneTerminal.git#egg=PloneTerminal ... ''') >>> print 'Start', system(buildout).strip() Start... Cloning git://github.com/bearstech/PloneTerminal.git to ./requirements/PloneTerminal Found command 'git' at '...' ... Develop: '/...buildout/./requirements/PloneTerminal' ... Generated interpreter '/...buildout/bin/python'. >>> print 'File', cat('bin', 'python') File... sys.path[0:0] = [ '.../ConfigObject-....egg', '/...buildout/requirements/PloneTerminal', ...
Bugs
Use the bitbucket tracker.
Changes
2.2 (12-07-2011)
use more pip api
add requirements option
2.1 (22-05-2011)
Take care of any .gitmodules found at package root
2.0 (20-05-2011)
No longer depends on pip. Use get-pip.py
1.9.4 (04-05-2011)
python3 ready
1.9.2 (04-01-2011)
require pip>=0.8
1.9.1 (22-08-2010)
add mercurial in require
1.9 (22-08-2010)
support latest pip
1.8 (06-08-2010)
always add svn scheme
1.7 (06-08-2010)
fix pip 0.8 compat
1.6 (13-05-2010)
require pip>=0.7.1
1.5 (17-02-2010)
rename vcsdevelop-update to vcs-update. can be set to always
1.4 (24-01-2010)
pip 0.6.3 compat by Boris Kocherov
1.3 (13-09-2009)
add vcsdevelop-update by Boris Kocherov
1.2 (24-08-2009)
allow to fetch non-python package
1.1 (29-06-2009)
add svn to vcs.schemes
0.4 (04-05-2009)
allow to have existing develop directories
0.2 (27-01-2009)
only take care of urls starting with a valid available scheme.
0.1 (23-01-2009)
nothing change
Download
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 Distributions
File details
Details for the file gp.vcsdevelop-2.2.3.zip
.
File metadata
- Download URL: gp.vcsdevelop-2.2.3.zip
- Upload date:
- Size: 145.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ce938dda49aedc1d615784fff7ff70b196fa5711a00780b32c01f97e3d88ac5 |
|
MD5 | b7fe54b9124561f2672d4ec5e57b603d |
|
BLAKE2b-256 | d6abc8775ef6f7825b043cee166a27ce6aa572ba8a1e94df5e53083b1aa6d792 |
File details
Details for the file gp.vcsdevelop-2.2.3.tar.gz
.
File metadata
- Download URL: gp.vcsdevelop-2.2.3.tar.gz
- Upload date:
- Size: 142.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b94a0d37d2b2619228ff8cb6f588f42734f2d0575686e262753da4415d6f1ee |
|
MD5 | 974e8256015c8e6d25dce68d61d43150 |
|
BLAKE2b-256 | 17637ee72cece2bbac8e6a4225953a883cde5c825f356252f7dcfb2c4658f633 |