Bazaar

Bazaar

 




Wiki Tools

  • Find Page
  • Recent Changes
  • Page History
  • Attachments

Bazaar feature overview

The key features briefly

Bazaar is:

  • Adaptive. Bazaar supports central and distributed source code management with ease. Changing from an existing central version control tool to Bazaar does not require your team to change their workflow. Distributed version control features can be adopted gradually.

  • Productive. The command line tool emphasizes ease of use: for an example, every command has help that explains the syntax and options. Graphical user interfaces (GUIs) for Bazaar are available for Windows, Linux and OS X. Documentation is available in HTML, PDF and Windows Help formats.

  • Fast and efficient. Bazaar has efficient performance on large trees, across slow networks and on projects with deep history. Our new default repository format enables higher performance, faster network transfers and savings in disk space.

  • Unique. Bazaar provides a unique combination of features including rename tracking for both files and directories, transparent foreign branches and direct Launchpad integration. See below for details.

The features in detail

Bazaar is:

  • Friendly. Distributed version control doesn't need to be complex. Version Control for Human Beings is one of our primary goals. Examples of this can be seen from our focus on usability, particularly task efficiency.

  • Smart. Bazaar has real support for renaming files and directories. This liberates developers to refactor directory and file structures as they see fit without fear of merging problems. Merging efficiently is possible if different developers restructure trees radically.

  • Lightweight. Unlike centralized systems, Bazaar does not need a dedicated server. FTP, HTTP or SSH access is all that is needed to collaborate with others. Performance over plain HTTP is good. A smart server is available if additional performance or security is needed.

  • Flexible. Bazaar can adapt to a variety of different needs:

    • In the centralized model, checkouts and commits work like in Subversion.

    • In the online-offline model, users can disconnect their work from the central server as needed; e.g. work in an airplane.

    • In the feature branching model, each feature or bug fix is developed in parallel and merged back to the mainline when it's ready.

    • In the shared working tree model, the one working tree is shared across branches, maximizing performance and reducing disk space (similar to the Git branch model).

  • Extensible. Bazaar has a plug-in architecture similar to Firefox extensions. For the end user, there are 100+ ready to install plug-ins and more appear regularly. Developers can access Bazaar's functionality via a Python API, making it easy to embed in tools and to integrate with existing infrastructure. Integration via XML is also possible.

  • Lean/Agile. Bazaar supports many best practices of software development and our documentation encourages their use. E.g. unit tests can be run before committing merges so that the trunk is always ready to ship. Code reviews are supported by feature branching and email bundles. Multiple authors can be recorded per commit (pair programming).

  • Continuously improving. Stable releases are available every six months. Bug fix releases are made when appropriate. Beta releases are available every month for testing by early adopters.

  • Free. Bazaar is available under the GPL v2 or later. To embed Bazaar into products under a different license, please contact Canonical with your needs.

  • A safe choice. Bazaar is backed by a thriving open source community and sponsored by Canonical, the open source company behind Ubuntu.

Special features to note:

  • Renames are properly tracked, not inferred and not treated as "delete+add" behind the scenes. This results in better merging. Log and similar commands follow renames implicitly.

  • Directories are first class objects. Empty directories are supported. Directory renames are correctly tracked.

  • Transparent foreign branches provide access to other version control repositories such as Subversion, Git and Mercurial repositories. You can work in a mixed VCS tool environment using the normal bzr client and commands.

  • Direct Launchpad.net integration. Launchpad.net offers free project hosting service for teams and individuals. This includes code management (Bazaar branches, merge proposals and code reviews), bug tracking, translation services and more.

  • Pluggable storage formats. New application delivery platforms like OLPC, iPod and Amazon's S3 - have different characteristics from traditional file systems. Bazaar has the architecture needed to embed intelligent version control into your application or content management system.

Bazaar is developed using best practices. We code review all core and community changes. Bazaar has a huge test suite (over 22,000 tests) that ensures that new features can be rapidly added without breaking existing ones.

See Introducing Bazaar for more details about our vision. For more perspectives, see Why Choose Bazaar?