=================================
Bazaar Developer Document Catalog
=================================


Overall developer documentation
===============================

* `Developer Guide <HACKING.html>`_

* `Architectural Overview <overview.html>`_ |--| describes some of the
  most important classes and concepts.

* `bzrlib API reference <http://people.canonical.com/~mwh/bzrlibapi/>`_
  (external link)
  |--| automatically generated API reference information

* `Integrating with Bazaar <http://wiki.bazaar.canonical.com/Integrating_with_Bazaar>`_
  (wiki) |--| a guide for writing Python programs that work with Bazaar.

* `Revision Properties <revision-properties.html>`_ |--| An application
  can set arbitrary per-revision key/value pairs to store app-specific
  data.

* `Testing <testing.html>`_ |--| Guide to writing tests for Bazaar.

* `Code Review <code-review.html>`_.

* `Bazaar Code Style Guide <code-style.html>`_.

* `Writing plugins <http://doc.bazaar.canonical.com/plugins/en/plugin-development.html>`_
  |--| specific advice on writing Bazaar plugins. (web link)

* `Documenting changes <documenting-changes.html>`_.

Process
=======

* `The Bazaar Development Cycle <cycle.html>`_ |--| The monthly
  development cycle and how to run it.

* `Releasing Bazaar <releasing.html>`_ |--|
  Checklist to make a release of Bazaar.

* `Managing the Bazaar PPA <ppa.html>`_ |--| Packaging Bazaar for Ubuntu.

* `Giving back <http://wiki.bazaar.canonical.com/BzrGivingBack>`_ (wiki) |--| How to get
  your changes to Bazaar integrated into a release.

* `Profiling notes <profiling.html>`_ |--| Instructions on how to profile
  bzr code and visualize the results.

* `EC2 resources <ec2.html>`_ |--| A team resource for
  Windows packaging and testing, and Ubuntu testing.

* `Tracking Bugs in Bazaar <bug-handling.html>`_ |--| How we use the bug
  tracker.

Architecture overviews
======================

* `Transports <transports.html>`_ |--| Transport virtual filesystem
  abstraction.

Plans
=====

* `Performance roadmap <performance-roadmap.html>`_ |--| The roadmap
  for fixing performance in bzr over the next few releases.

* `Co-located branches <colocated-branches.html>`_ |--| Planned(?) support
  for storing multiple branches in one file-system directory.

* `Bazaar Windows Shell Extension Options <tortoise-strategy.html>`_ |--|
  Implmentation strategy for Bazaar Windows Shell Extensions, aka
  TortoiseBzr.

* `CHK Optimized index <improved_chk_index.html>`_

Specifications
==============

* `API versioning <api-versioning.html>`_ |--| bzrlib API versioning.

* `Apport error reporting <apport.html>`_ |--| Capture data to report
  bugs.

* `Authentication ring <authentication-ring.html>`_ |--| Configuring
  authentication.

* `Bundles <bundles.html>`_ |--| All about bzr bundles.

* `Container format <container-format.html>`_ |--| Notes on a container format
  for streaming and storing Bazaar data.

* `Groupcompress <groupcompress-design.html>`_ |--| Notes on the compression
  technology used in CHK repositories.

* `Indices <indices.html>`_ |--| The index facilities available within bzrlib.

* `Inventories <inventory.html>`_ |--| Tree shape abstraction.

* `LCA merge <lca-merge.html>`_ |--| A nice new merge algorithm.

* `Network protocol <network-protocol.html>`_ |--| Custom network protocol.

* `Plugin APIs <plugin-api.html>`_ |--| APIs plugins should use.

* `Repositories <repository.html>`_ |--| What repositories do and are used for.

* `Repository stream <repository-stream.html>`_ |--| Notes on streaming data
  for repositories (a layer above the container format).

* `Integration Guide <integration.html>`_ |--| A guide to integrate bzrlib into
  any python application.

* `Bazaar and case-insensitive file systems <case-insensitive-file-systems.html>`_
  |--| How Bazaar operates on case-insensitive file systems such as commonly
  found on Windows, USB sticks, etc.

* `Development repository formats <development-repo.html>`_ |--| 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 <packrepo.html>`_ |--| KnitPack repositories
  (new in Bazaar 0.92).

Implementation notes
====================

* `BTree Index Prefetch <btree_index_prefetch.html>`_ |--| How bzr decides
  to pre-read extra nodes in the btree index.

* `Computing last_modified values <last-modified.html>`_ for inventory
  entries

* `Content filtering <content-filtering.html>`_

* `LCA Tree Merging <lca_tree_merging.html>`_ |--| Merging tree-shape when
  there is not a single unique ancestor (criss-cross merge).

Miscellaneous
=============

* `dirstate <dirstate.html>`_ |--| An observation re. the dirstate file

* `"bzr update" performance analysis <update.html>`_ |--| "bzr update"
  performance analysis


.. |--| unicode:: U+2014

..
   vim: ft=rst tw=74 ai
