Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

This recipe can be used to get development checkouts from Bazaar repositories for zc.buildout.

Installation and Setup

Read INSTALL.txt

Documentation

Goals

  • Allow fetching eggs directly from bzr repositories.

  • The specified repositories are branched locally on the first buildout run. It is possible to use these local branches for development and make local changes. The local changes can be committed locally, and can be pushed back to the remote repository or to any other location.

  • When buildout is run again, the branches are updated (pulled) automatically from the remote location. If pulling would cause conflicts, buildout stops with an error. The parent branch (pull) location remembered by bazaar will be used for pulling, so it is possible to change this any time from bzr.

  • Local changes can be pushed back to the remote branches. This is also enforced: When buildout wants to uninstall the local branches, they are checked. If they contain uncommitted or unpushed local changes, buildout stops with an error. This forces developers to save local changes to upstream and avoids loosing local work.

  • When buildout checks if the branches contain local changes, the parent (pull) location and the push location, remembered by bazaar, are used (in this order). This makes it possible to switch existing branches during development, without changing the buildout configuration.

  • Parameters are similar to those used with “infrae.subversion” and also compatible with the “bazaarrecipe” package.

  • With bzr-svn, the remote branch can also be an svn branch. So it actually can be used to branch off native svn repository branches as well (although, performance of updates and sanity checks may depend on bzr-svn’s performance, thus infrae.subversion may provide faster operation for svn.)

Usage

Usage example:

[bzr]
recipe = gf.recipe.bzr
urls =
    http://bazaar.launchpad.net/~kissbooth/kss.plugin.sdnd/trunk kss.plugin.sdnd
    http://bazaar.launchpad.net/~kissbooth/kss.plugin.livesearch/trunk kss.plugin.livesearch
in_parts = False
http_authentication = username:password

This will bzr get the branches to bzr/kss.plugin.sdnd and bzr/kss.plugin.livesearch. Branches are pulled if buildout is called. Uninstall is protected, if there are local modifications, or modifications that are missing in the upstream, an error will be raised. In case you create a local bzr directory, make sure it has a push location, otherwise uninstall will fail.

No directories are really removed on uninstall, this has the consequence that if the setup is changed, the local repositories will not follow it.

The in_parts option

in_parts is by default false, which means the directory that holds the branches is created in the buildout root. This is the default mode as it is handy for development. If in_parts = True is specified, then the directory will be created in the parts directory (compatible with infrae.subversion).

The http_authentication option

If http authentication is specified as username:password, it will be used for authenticating into http and https realms. This is rarely needed as ssh offers a more confortable repository access, but it allows password protected http access that would not be easy (or possible at all) otherwise.

The option is inactive with bzr+ssh:// repository urls.

The develop option

The branches fetched by the recipe are also installed as development eggs, by default. The develop = False option can be used to force the recipe not to develop the eggs. This can be useful, for example, to use buildout to update local read-only bazaar mirrors of an svn repository:

[kukit.js]
recipe = gf.recipe.bzr
urls=
    https://codespeak.net/svn/kukit/kukit.js/trunk              trunk
    https://codespeak.net/svn/kukit/kukit.js/branch/1.2         1.2
    https://codespeak.net/svn/kukit/kukit.js/branch/1.4         1.4
develop = False

[kss.demo]
recipe = gf.recipe.bzr
urls=
    https://codespeak.net/svn/kukit/kss.demo/trunk              trunk
    https://codespeak.net/svn/kukit/kss.demo/branch/1.2         1.2
    https://codespeak.net/svn/kukit/kss.demo/branch/1.4         1.4
develop = False

Offline mode is not supported for uninstalls

Offline mode is not supported for uninstalls, because there seems to be no way of detecting during uninstall, if we are in offline mode.

This means that if you run buildout in offline mode, and buildout decides that an uninstall is needed, the recipe will still attempt an online connection to the upstream repository. If this gets you into a deadlock, you need to run buildout in online mode, or remove your branches manually if you choose to resolve the situation by loosing all your local changes.

Other configuration needed

In addition you also need to include the eggs you configured with the recipe, in the buildout section:

[buildout]
...
eggs =
    ...
    kss.plugin.sdnd
    kss.plugin.livesearch

Release files for gf.recipe.bzr 1.0dev-20081125

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gf.recipe.bzr 1.0dev-20081125
File Size Uploaded
gf.recipe.bzr-1.0dev-20081125.tar.gz 12.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gf.recipe.bzr 1.0dev-20081125
File Interpreter ABI Platform
gf.recipe.bzr-1.0dev_20081125-py2.4.egg Legacy Egg format - - Details

Total release size: 25.1 kB

Release files / gf.recipe.bzr-1.0dev-20081125.tar.gz

Download URL gf.recipe.bzr-1.0dev-20081125.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
93f69726f126839d8250390db6015be421f9a4bf7c27149d5f4fa70359a68d26
BLAKE2b-256 checksum
How to use checksums
bd3ece847b6ea2171ee95df665be0c6b4eaacf0424d1df0131d8c3a2e674cfd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gf.recipe.bzr-1.0dev_20081125-py2.4.egg

Download URL gf.recipe.bzr-1.0dev_20081125-py2.4.egg
Size 12.4 kB
Tags Egg
SHA-256 checksum
How to use checksums
5e94fc3b8fced889b785b4efc716f52825101f3bb0718c47b8189a047303bab2
BLAKE2b-256 checksum
How to use checksums
86cb5097ab1a34bbcbc524f39e73664ef8f2ee24589c553cb96190a14de7085d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page