Breezy Developer Document Catalog¶
Overall developer documentation¶
Architectural Overview — describes some of the most important classes and concepts.
breezy API reference (external link) — automatically generated API reference information
Integrating with Breezy (wiki) — a guide for writing Python programs that work with Breezy.
Revision Properties — An application can set arbitrary per-revision key/value pairs to store app-specific data.
Testing — Guide to writing tests for Breezy.
Writing plugins — specific advice on writing Breezy plugins.
Process¶
Releasing Breezy — Checklist to make a release of Breezy.
Managing the Breezy PPA — Packaging Breezy for Ubuntu.
Giving back (wiki) — How to get your changes to Breezy integrated into a release.
Profiling notes — Instructions on how to profile brz code and visualize the results.
EC2 resources — A team resource for Windows packaging and testing, and Ubuntu testing.
Tracking Bugs in Breezy — How we use the bug tracker.
Architecture overviews¶
Transports — Transport virtual filesystem abstraction.
Plans¶
Performance roadmap — The roadmap for fixing performance in brz over the next few releases.
Co-located branches — Planned(?) support for storing multiple branches in one file-system directory.
Breezy Windows Shell Extension Options — Implementation strategy for Breezy Windows Shell Extensions, aka TortoiseBzr.
Specifications¶
API versioning — breezy API versioning.
Apport error reporting — Capture data to report bugs.
Authentication ring — Configuring authentication.
Bundles — All about brz bundles.
Container format — Notes on a container format for streaming and storing Breezy data.
Groupcompress — Notes on the compression technology used in CHK repositories.
Indices — The index facilities available within breezy.
Inventories — Tree shape abstraction.
LCA merge — A nice new merge algorithm.
Network protocol — Custom network protocol.
Plugin APIs — APIs plugins should use.
Repositories — What repositories do and are used for.
Repository stream — Notes on streaming data for repositories (a layer above the container format).
Integration Guide — A guide to integrate breezy into any python application.
Breezy and case-insensitive file systems — How Breezy operates on case-insensitive file systems such as commonly found on Windows, USB sticks, etc.
Development repository formats — How to work with repository formats that are still under development. Contains instructions for those implementing new formats, of course, but also for (bleeding-edge) end users of those formats.
Data formats¶
Knit pack repositories — KnitPack repositories (new in Bazaar 0.92).
Implementation notes¶
BTree Index Prefetch — How brz decides to pre-read extra nodes in the btree index.
Computing last_modified values for inventory entries
LCA Tree Merging — Merging tree-shape when there is not a single unique ancestor (criss-cross merge).
Miscellaneous¶
dirstate — An observation re. the dirstate file
“brz update” performance analysis — “brz update” performance analysis