ZC buildout recipe to checkout a dir from a svn repository and archive it in a folder
Project description
This product is used to download packages from svn and tar them in a directory.
We need some buildout vars:
>>> write('buildout.cfg', ... """ ... [buildout] ... parts=svn-package ... ... [svn-package] ... recipe=iw.recipe.subversion ... urls= ... file:///%s/my_package/trunk my_package ... """ % repository)
We need a repository:
>>> create_repository()
Then, the recipe should work:
>>> print system(buildout) Installing svn-package. A /sample-buildout/parts/svn-package/my_package/__init__.py A /sample-buildout/parts/svn-package/my_package/sub A /sample-buildout/parts/svn-package/my_package/sub/__init__.py A /sample-buildout/parts/svn-package/my_package/README.txt ... <BLANKLINE>
Ok, we got it:
>>> ls('parts', 'svn-package') d my_package
If a download-cache directory is given, then an archive is created in the specified path:
>>> write('buildout.cfg', ... """ ... [buildout] ... download-cache=cache ... parts=svn-package ... ... [svn-package] ... recipe=iw.recipe.subversion ... urls= ... file:///%s/my_package/trunk my_package ... """ % repository) >>> rmtree('parts') >>> cache = join(os.getcwd(), 'cache') >>> mkdir(cache) >>> print system(buildout) Creating directory '/sample-buildout/parts'. Uninstalling svn-package. Installing svn-package. A /sample-buildout/parts/svn-package/my_package/__init__.py A /sample-buildout/parts/svn-package/my_package/sub A /sample-buildout/parts/svn-package/my_package/sub/__init__.py A /sample-buildout/parts/svn-package/my_package/README.txt ... Creating archive: my_package-dev.tar.gz >>> ls(cache) d dist - my_package-dev.tar.gz
Ok, now we can work offline. The package will be installed from the cache directory:
>>> write('buildout.cfg', ... """ ... [buildout] ... install-from-cache=true ... download-cache=cache ... parts=svn-package ... ... [svn-package] ... recipe=iw.recipe.subversion ... urls= ... file:///%s/my_package/trunk my_package ... """ % repository) >>> rmtree(repository) >>> rmtree('parts') >>> print system(buildout) Creating directory '/sample-buildout/parts'. Uninstalling svn-package. Installing svn-package. <BLANKLINE> >>> ls('parts', 'svn-package') d my_package >>> ls('parts', 'svn-package', 'my_package') - README.txt - __init__.py d sub
Well, it’s ok for a trunk url. But when working with tagged version, we don’t want to use subversion if we already have an archive:
>>> write('buildout.cfg', ... """ ... [buildout] ... download-cache=cache ... parts=svn-package ... ... [svn-package] ... recipe=iw.recipe.subversion ... urls= ... file:///%s/my_package/tags/v1_0_0 my_package ... """ % repository)
At the first time, we need to update and built the archive:
>>> create_repository() >>> print system(buildout) Uninstalling svn-package. Installing svn-package. A /sample-buildout/parts/svn-package/my_package/__init__.py A /sample-buildout/parts/svn-package/my_package/sub A /sample-buildout/parts/svn-package/my_package/sub/__init__.py A /sample-buildout/parts/svn-package/my_package/README.txt ... Creating archive: my_package-v1_0_0.tar.gz <BLANKLINE> >>> ls('parts', 'svn-package', 'my_package') d .svn - README.txt - __init__.py d sub >>> ls(cache) d dist - my_package-v1_0_0.tar.gz
Then we work can work offline:
>>> write('buildout.cfg', ... """ ... [buildout] ... offline=true ... download-cache=cache ... parts=svn-package ... ... [svn-package] ... recipe=iw.recipe.subversion ... urls= ... file:///%s/my_package/tags/v1_0_0 my_package ... """ % repository) >>> rmtree(repository) >>> rmtree('parts') >>> print system(buildout) Creating directory '/sample-buildout/parts'. Uninstalling svn-package. Installing svn-package. <BLANKLINE> >>> ls('parts', 'svn-package', 'my_package') - README.txt - __init__.py d sub
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 Distribution
Built Distribution
Hashes for iw.recipe.subversion-0.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34c6a7a5e8cd9f1a268152e3fecc89f0f6bf78b522f7ef0022f7999b252e5670 |
|
MD5 | 872e21922d9311617f1db2a527f8852c |
|
BLAKE2b-256 | 67ddc1a934bb77ad73a0cdd5a3ac543b32967fe7b56e1ea5e33462ce2d25dc23 |
Hashes for iw.recipe.subversion-0.3.1-py2.4.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0665668f306d93721aafc61c1d5c394a79ae53c90e1f3f0452ab861c4f45277c |
|
MD5 | 1f0f05b68bf7daf94f50c9019b7aa743 |
|
BLAKE2b-256 | c4efded70b6e00dc905279e3423788aaf10c77315469c2098bd8f95e3125e6cb |