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 BzrRefactoring, and the launchpad branch registry.
Planning and roadmaps
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. Of course, if you have code, that can be associated with the Blueprint directly.
Development Roadmap - The high level plan (TO BE UPDATED)
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.
Feature Requests
If you have an idea for a feature, please join the IRC channel and discuss it there, or mail the Bazaar mailing list. You can also register a Blueprint in the Bazaar Blueprint Tracker in Launchpad.
Bugs
See BugGuidelines for details on how we track the status and importance of bugs using Launchpad.
Tracking Development
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.
Release revids
This is the list of revision ids for officially released versions of bzr.
bzr.0.0.5 mbp@sourcefrog.net-20050615060316-97b948fb1eade31f bzr.0.1.0 mbp@sourcefrog.net-20051013032322-dc469f4b81f8e7f9 bzr.0.6.0 mbp@sourcefrog.net-20051028055627-b80f0d7d43d07407 bzr-0.7-fixes mbp@sourcefrog.net-20060120051910-199f6d5e9d1e5c6d bzr.0.8.2 pqm@pqm.ubuntu.com-20060517071027-58ef74796b918716 bzr.0.9.0 pqm@pqm.ubuntu.com-20060811102108-06a24f3a1d4e7d82 bzr.0.10.0 pqm@pqm.ubuntu.com-20060904005919-d595cc974f859400 bzr.0.11.0 pqm@pqm.ubuntu.com-20061001233254-c3a627b7c1390697 bzr.0.12.0 pqm@pqm.ubuntu.com-20061110203829-b23b986f699765d4 bzr.0.13.0 pqm@pqm.ubuntu.com-20061205000542-47a28e349f4d905a bzr.0.14.0 pqm@pqm.ubuntu.com-20070123015756-e05d251079a656ca bzr.0.15.0rc2 mbp@sourcefrog.net-20070314093338-5y0goexyi5vla7w5 bzr.0.15.0 mbp@sourcefrog.net-20070401052429-z2q259d3su4mjwnx
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 https://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.
