Bazaar

Bazaar

 




Wiki Tools

  • Login
  • Create Profile
  • Find Page
  • Recent Changes
  • Page History
  • Attachments

Bazaar Development Guidelines

Welcome to the Bazaar development community! We follow best-practice in Bazaar development, with extensive code review, a requirement of complete and rigorous test coverage on any code contributed, and a public roadmap and planning process in which anyone can participate.

See also the Bazaar Developer Guide, BzrRefactoring, and the launchpad branch registry.

Planning and roadmaps

Here is the current high level plan: Development Roadmap.

We use a number of tools for tracking what we're doing and what we're planning to do:

  • We use the wiki for summarising the tasks needing to be done, features needing to be added and bugs needing to be fixed before we can call something DONE.
  • We keep track of a set of Bazaar Blueprints that outline the key ideas for features or refactoring that are planned. On that page you'll find formalized suggestions for the path of Bazaar development. If you have thoughts on how to solve a problem facing Bazaar, then this is an ideal way to get your idea out there for discussion. Register your blueprint there and start discussing it on the mailing list, and/or IRC. Of course, if you have code, that can be associated with the Blueprint directly.

  • See BugGuidelines for details on how we track the status and importance of bugs using Launchpad.

How to get code merged

Code primarily gets merged via requests to either the mailing list or one of the Bazaar developers. Code submitted to Bazaar must meet the following criteria:

  • New code must come with test cases that proves that the modifcation makes the promised changes
  • Please update the NEWS file according to the type of patch you are submitting!
  • The new code should either alleviate bugs or improve features, speed, or code simplicity
  • Code contributors need to have signed a CopyrightAssignment.

  • Pack up your modification either into a patch or a branch containing the isolated fix and associated test cases.
  • New contributions must follow python PEP-8 coding guidelines

  • Prefix your email with [PATCH] if it includes a patch or [MERGE] if its a branch that is ready to be merged

If your hack has what it takes then send email to the Bazaar mailing list. If you do not wish to subscribe to the list then please see one of the developers on IRC about how to submit your code via email request.

For more detail, see BzrGivingBack.

Committing to pqm

The Bazaar mainline (bzr.dev) is managed by an automatic Patch Queue Manager that ensures all merged changes pass the test suite. The currently-running tests can be seen at http://pqm.bazaar-vcs.org/

If you are authorized to request merges, you should put lines similar to this into your ~/.bazaar/locations.conf:

[/home/mbp/bzr]
post_commit = bzrlib.plugins.email.post_commit
post_commit_to = bazaar-commits@lists.canonical.com
push_location = sftp://ozlabs.org/~/bzr/
push_location:policy = appendpath
public_branch = http://sourcefrog.net/bzr/
public_branch:policy = appendpath
pqm_email = Bazaar PQM <pqm@bazaar-vcs.org>
pqm_branch = http://bazaar-vcs.org/bzr/bzr.dev

You don't need this to just make your own changes to Bazaar or to send them to the mailing list, only to merge them into the mainline.

Tracking Development

Launchpad let's you subscribe to branches you are interested in. You may want to subscribe to https://code.launchpad.net/~bzr-pqm/bzr/bzr.dev.

A mailing list devoted to tracking commits is available. Information for subscribing to this list is available at http://lists.ubuntu.com/mailman/listinfo/bazaar-commits.