Skip to main content

Buildout recipe for checking out from subversion

Project description

This zc.buildout recipe will check out a number of URLs into its parts directory. It won’t remove its parts directory if there are any changes in the checkout, so it’s safe to work with that checkout for development.

This is an example buildout part that uses this recipe:

[development-products]
recipe = infrae.subversion
urls =
    https://svn.plone.org/svn/collective/PDBDebugMode/trunk PDBDebugMode

This will maintain a working copy of PDBDebugMode in the parts/development-products/PDBDebugMode directory (not in the parts directory itself). Thus, the recipe handles multiple URLs fine.

If you have pysvn installed on the computer, it will be used. This implies better performances.

Update

By default, when buildout update the part, an svn up is done for each link. However, when a revision number is specified like this:

https://svn.infrae.com/buildout/infrae.subversion/trunk@27829

The SVN link is skipped for update. If you want to prevent update for all SVN link of the part even if they do not contain revision number, you can add the following option:

ignore_updates = true

Export

With pysvn installed, you can specify:

export = true

in your buildout part to get an SVN export instead of an SVN checkout.

Verification

By default, your checkout are checked against local modification before any uninstallation step. This can take time on large checkouts, and you may don’t want it in some case (like when used on buildbot for instance). To prevent this step, you can use this option:

ignore_verification = true

Exported Variables

If you set:

export_info = true

Two variables will be exported by this recipe:

  • revisions which gives for each URL the corresponding revision number,

  • updated which gives a list of URLs which have been updated with new code.

Since values to these variables changes each time you run buildout (revision number changes), this trigger an uninstall/reinstall of the part. We recommand to activate it only if you need it.

Sample

For an example buildout that uses this recipe, please see the Silva buildout.

As well, the doctest file can provide more sample.

Latest version

The latest version is available in a Subversion repository.

Changes

1.3

  • Remove the restriction to py 0.9.0, now that py 0.9.2 is out and fix problems on svn status with strange userid. [sylvain]

  • Correct an error rendering. [sylvain]

  • Export information only for top level svn URLs in the native implementation, this used to inject information from svn:externals links included in URL list. [sylvain]

  • Add tests for export information feature. [tlotze]

  • Correct URL in setup.py [sylvain].

1.2

  • Refactor code, performances should be better at uninstall with Py implementation [sylvain].

  • Look for the environment variable INFRAE_SUBVERSION_IMPL to select which implementation to use. Possible values are PYSVN (default) and PY [sylvain].

  • Uninstall only look at directory which have been created by the recipe in the part. Other are just reported [sylvain].

  • Export two new variables, if export_info is set to true:

    revisions

    Which is lines formatted:

    link current_revision

    updated

    Which is lines containing updated links.

    [sylvain].

1.1

  • Add the ignore_verification option [sylvain].

1.0

  • Base version of the recipe.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

infrae.subversion-1.3.tar.gz (11.4 kB view hashes)

Uploaded Source

Built Distribution

infrae.subversion-1.3-py2.4.egg (20.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page