Fact-checked by Grok 2 weeks ago

GNU Bazaar

GNU Bazaar, often abbreviated as Bazaar or invoked via the command-line tool bzr, is a designed to track changes in software projects, enable efficient collaboration among developers, and manage version histories over time. Originally developed by Ltd. as Bazaar-NG, it supports both fully distributed workflows—where each user maintains a complete copy of the project repository—and centralized setups, allowing seamless integration with existing tools like or through plugins and foreign branch support. Written primarily in , Bazaar emphasizes user-friendliness with features such as lightweight branches, rich annotations for commits, and flexible transport protocols including HTTP, FTP, and for remote operations. Bazaar originated in 2004 as a of the GNU Arch , led by developer Martin Pool at , with the goal of creating a more accessible distributed VCS amid the rise of tools like and early prototypes. It quickly gained traction through Canonical's sponsorship, powering Ubuntu's development processes and Launchpad's code hosting platform, and was officially adopted as a in February 2008. Key milestones include the introduction of pack-based storage formats in 2006 for improved performance, monthly release cycles through 2009, and extensive plugin ecosystems that extended its capabilities to handle large-scale projects like and . The system is licensed under the GNU General Public License version 2 or later, ensuring its status as compatible with the GNU ecosystem. While Bazaar's development peaked in the late with a core team of five full-time contributors funded by , activity slowed significantly after as resources shifted toward other priorities, culminating in the last official release (version 2.7.0) in February 2016. In June 2025, Canonical announced the phase-out of support on Launchpad, with repository access and hosting discontinued by December 11, 2025, reflecting its displacement by in modern workflows. Nonetheless, community-driven efforts persist, including the fork (brz), which continues active maintenance with 3 support and compatibility with Bazaar formats, and it remains in use for legacy projects valuing its Python-based extensibility and cross-platform compatibility on , macOS, and Windows.

History

Origins and Early Development

The development of GNU Bazaar, originally known as Bazaar-NG, began in late 2004 when Martin Pool joined Canonical Ltd. and initiated work on a new distributed version control system as a ground-up rewrite in , forking from the complex Arch (). Pool, along with key early contributors Robert Collins—who had previously announced the related Baz project in October 2004—and John Arbash Meinel, aimed to create a more accessible tool that addressed the usability limitations of existing systems like Arch, particularly for collaborative software development in projects. This effort emerged from practical needs in patch management, building on tools like the Patch Queue Manager (PQM), which Pool had developed to automate patch review and integration for packaging workflows, improving efficiency over manual processes in revision control. The first public pre-release, version 0.0.1, was issued on March 26, 2005, marking the initial availability of Bazaar-NG as an open-source project with a dedicated and . Written primarily in 2 for portability and readability, it incorporated optional Pyrex-generated C extensions to enhance performance in critical areas like diffing and packing, while maintaining a lightweight core suitable for non-technical users. From its inception, Bazaar-NG emphasized ease of use through intuitive commands and flexible workflows, supporting both centralized -based operations and fully decentralized collaboration without requiring a dedicated infrastructure. Early iterations in 2005 and 2006 focused on core functionality and network efficiency, including the addition of smart server support for optimized remote operations and HTTP transport to enable seamless access over standard web protocols. These enhancements, developed during community sprints such as the first Bazaar event in in May 2006, allowed for rapid prototyping and testing, with projects like evaluating the tool via in 2005 despite initial challenges in repository conversion. By October 2005, the stable 0.1 release solidified these foundations, incorporating community patches and establishing Bazaar-NG as a viable alternative for distributed revision control.

GNU Adoption and Canonical Sponsorship

In February 2008, Bazaar was officially accepted as a following approval from , the founder of the Project, leading to its renaming as GNU Bazaar to reflect its alignment with 's principles. This endorsement marked a significant institutional milestone, integrating Bazaar into the ecosystem and emphasizing its commitment to open-source development tools. Canonical's sponsorship of commenced in 2006, providing financial and resource support that enabled the hiring of full-time developers, including original creator Martin Pool, to accelerate its maturation. By 2007, was integrated into Canonical's Launchpad platform, which served as the primary development environment for , facilitating seamless for the distribution's codebase. This backing transformed from an independent project into a professionally maintained tool, with Canonical contributing infrastructure and expertise to enhance its reliability for large-scale collaborative workflows. Key milestones under this sponsorship included the release of 1.0 on December 14, 2007, which introduced stable features for distributed revision control and was positioned as a robust alternative to centralized systems. In 2008, adopted as its default version control system, streamlining development processes across the project and encouraging broader community participation through accessible branching and merging. These advancements solidified 's role in 's ecosystem, with Canonical's investment driving improvements in usability and performance tailored to workflows. Canonical further developed Launchpad-specific features for , including automated code import services that converted repositories from CVS and into Bazaar format, enabling legacy projects to migrate without . Shared repository hosting on Launchpad optimized storage and collaboration by allowing multiple branches to share common history data, reducing redundancy in team-based development. These enhancements, built directly into Launchpad's infrastructure, supported efficient code review, bug fixing, and integration for maintainers. Internally, Canonical relied on Bazaar for Ubuntu packaging workflows and bug tracking through Launchpad until the mid-2010s, where it handled management, patch application, and issue resolution for the distribution's vast . This prolonged use underscored Bazaar's practical utility in a high-volume environment, with tools like the bzr integrated into daily operations for maintaining package integrity and tracking changes across releases. By fostering a unified system for development and , Canonical's adoption helped propagate Bazaar's methodologies throughout the community.

Peak Usage and Decline

Bazaar reached its peak popularity between 2008 and 2012, during which time Launchpad hosted around 10,000 projects utilizing its code hosting features integrated with branches. As the default system for development, Bazaar managed for numerous packages, facilitating collaborative workflows across the distribution's ecosystem. Notable adoptions during this period included Mozilla's use of for development, enhancing its distributed revision control capabilities starting around 2009. Similarly, transitioned its source code management to Bazaar in late 2009, integrating it into the project's development processes alongside other tools. The decline of Bazaar's usage began in the mid-2010s, largely due to the rising dominance of , which gained traction from its 2005 inception as the kernel's primary system and its superior performance in handling large-scale repositories. Bazaar's reliance on contributed to slower execution on expansive projects compared to Git's optimized implementation, exacerbating performance gaps in high-volume environments. By 2013, Ubuntu developers increasingly adopted a hybrid approach, incorporating for certain workflows while retaining for legacy package management, amid growing community feedback on unresolved bugs and delayed maintenance. The release of 2.6 in August 2013 marked the final major update, with subsequent development shifting to minimal bug fixes. User migrations to accelerated after 2015, as prominent projects like completed their transitions, further diminishing Bazaar's active adoption.

Retirement Announcement

On June 4, 2025, announced via the phasing out of code hosting on Launchpad, marking the end of support for the system on the platform. This decision aligns with broader trends of declining usage, as peaked in adoption around 2015 and has since seen minimal activity. The timeline for discontinuation includes two key phases. First, imports from CVS and to branches were deprecated, with no new configurations accepted after September 18, 2025, and all existing imports shut down by October 1, 2025. Second, full shutdown of the backend occurred on December 11, 2025, delayed from an initial target of September 1, 2025, to allow additional time; this ended all , pushing, and capabilities. Canonical cited several reasons for the retirement, including Bazaar's low current usage after peaking a decade earlier, the ongoing maintenance burden of supporting an outdated system, and the widespread industry shift to as the dominant tool. The last official release of GNU Bazaar, version 2.7.0, was on February 15, 2016, with no active maintenance from the GNU project since then. This change has no impact on internal Ubuntu development, which transitioned to Git-based workflows years prior. For existing users, Canonical recommended migrating repositories to Git using available tools and guides, or adopting the Breezy fork for continued local Bazaar usage. Post-shutdown, Launchpad archives Bazaar repositories for download but provides no further support or hosting functionality.

Design Principles

Distributed Revision Control Model

GNU Bazaar operates on a distributed revision control model that emphasizes , allowing each user to maintain a complete, copy of the project . This enables developers to work offline, commit changes locally, and synchronize with others as needed, without relying on a mandatory central . Revisions in Bazaar are immutable snapshots of the project state, each uniquely identified by a deterministic revision ID—such as [email protected]—which incorporates details like the committer's identity, timestamp, and a number to ensure global uniqueness and traceability across repositories. The system's supports a approach, blending fully decentralized operations with client-server capabilities for efficient collaboration. In standalone mode, users manage local repositories entirely on their machines, fostering ad-hoc teamwork through exchanges of changes. For networked environments, Bazaar employs "smart servers" accessible via protocols like bzr:// or bzr+ssh://, which handle server-side optimizations such as autopacking revisions and batching data transfers into efficient chunks (e.g., approximately 5MB per request) to minimize usage without requiring users to clone entire histories. This flexibility accommodates both solo developers and large teams, scaling from local experimentation to distributed, multi-site development scenarios. Central to Bazaar's model are several key concepts that enhance and . A working tree represents a local, editable directory of project files, directly associated with a 's history stored in the .bzr subdirectory, allowing seamless tracking of modifications. Lightweight checkouts, created with the --lightweight option, provide a space-efficient alternative by linking to a remote without duplicating its full history locally, ideal for quick access to shared codebases. Bound branches further streamline workflows by tying a local to a remote "master" location, automatically propagating commits to the central repository upon binding, which supports structured team synchronization while preserving decentralization. These elements collectively enable users to perform pushes and pulls effortlessly, even in disconnected settings, prioritizing accessibility over rigid hierarchies. A distinctive feature of Bazaar's distributed model is its shared repository mode, designed for collaborative environments where multiple branches coexist. In this setup, initiated with bzr init-repo --no-trees, a single repository stores the common revision history for several branches, significantly reducing disk space requirements—particularly beneficial for large projects or repositories with numerous related branches. This optimization allows teams to maintain a centralized pool of shared data while each branch operates independently, striking a balance between resource efficiency and the autonomy inherent to distributed control. Overall, the model underscores Bazaar's philosophy of user-friendliness, eliminating the need for administrative servers and empowering developers with intuitive tools for offline innovation and flexible integration.

Branching and Merging Mechanisms

Bazaar implements branching through the bzr branch command, which creates a new, independent as a lightweight copy of an existing one, sharing underlying to avoid full duplication and enabling efficient local development without network access. This approach leverages the distributed revision model, where branches can shared history, facilitating rapid creation of feature or topic branches for parallel work. Merging in Bazaar utilizes a three-way merge algorithm that identifies a common ancestor via revision graphs, comparing changes from two branches against this base to integrate modifications automatically where possible. The algorithm follows defined rules for resolution: if the ancestor (A) has value x, and the two branches (B and C) agree on x or y, it adopts that value; discrepancies result in conflicts for manual intervention. Bazaar supports cherrypicking of specific revisions and employs weave-based history reconstruction to preserve accurate ancestry during non-linear merges, ensuring high-quality tracking of prior integrations to avoid redundant work. When the three-way merge encounters irreconcilable changes, Bazaar handles by inserting conflict markers into affected files and generating auxiliary files—such as filename.BASE (), filename.THIS (current ), and filename.OTHER (incoming )—for during . Users manually edit the files to resolve issues, removing markers, and then invoke bzr resolve to mark the conflict as addressed, which cleans up auxiliary files and updates the branch status. For complex cases like criss-cross merges, the bzr remerge --weave option applies an alternative weave algorithm to attempt . Advanced features include nested trees, which enable stacked branches where a branch references the of a for reduced storage needs, particularly useful in large projects or when splitting subcomponents like external libraries. Merge directives provide a mechanism for workflows involving or patches, generating structured files via bzr send that encapsulate revision bundles and instructions, allowing recipients to apply changes with bzr merge without requiring full branch access. A key innovation in Bazaar's design is the weave format for delta storage, which interleaves changes across revisions in a single structure, supporting efficient reconstruction of file states and enabling robust handling of non-linear histories during branching and merging operations. This format, introduced early in development, allows Bazaar to perform merges with precise ancestry awareness, minimizing conflicts in divergent branches compared to linear storage approaches.

Storage Formats and Protocols

Bazaar employs a native storage format that evolved to prioritize in handling large repositories. The initial formats used full texts for each revision, but by 2006, Bazaar transitioned to the knit format, which stored histories as sequences of deltas rather than complete s, reducing redundancy. This was further refined in 2007 with the introduction of pack-based storage, where knits for texts, inventories, and revisions are grouped into compressed pack files, improving both disk usage and access speeds for operations like branching and merging. Revision data in Bazaar is organized around inventory trees, which represent the complete state of a project's files and directories at each revision, using radix trees for efficient and querying. File contents are stored using text deltas, capturing only changes between versions to minimize space, with support for files via full-text storage when deltas are inefficient. Cryptographic signatures for revisions are optional and integrated via GnuPG, allowing users to sign commits for authenticity verification during pushes, pulls, or merges. For network protocols, Bazaar supports for secure file transfers over SSH, enabling read and write access without a dedicated . It also uses HTTP and with a "" protocol that allows efficient partial data fetches, reducing bandwidth for operations like history queries or incremental updates. Additionally, a custom Bazaar protocol operates over (via bzr://), providing optimized, bidirectional communication when a is configured, which is particularly useful for high-performance collaborative workflows. Bazaar's disk formats maintain , ensuring newer versions can read and write older repositories without or conversion. This multi-format support extends to with foreign systems, such as reading and writing repositories through the bzr-git , introduced around 2008, and mirroring branches via the bzr-svn , facilitating hybrid environments. The evolution from the knit format to packs addressed key performance bottlenecks, achieving better compression ratios and faster retrieval times for revision histories, as packs enable batched resolution and reduced I/O overhead compared to scattered knit files.

Key Features

Command-Line Interface and Workflows

GNU Bazaar primarily utilizes a (CLI) through the bzr executable, which provides a straightforward and extensible way for users to manage version-controlled projects. The CLI is designed for , allowing developers to initialize repositories, track changes, and synchronize branches with minimal commands. This interface emphasizes simplicity while supporting advanced distributed workflows, making it suitable for both individual and collaborative development. Core commands form the foundation of user interactions in Bazaar. To set up a new , users run bzr init in a target directory, which creates a local with its own and . Adding files for tracking is done via bzr add, followed by bzr commit to record changes with a descriptive , creating a new revision in the 's . Synchronization between is handled by bzr push to send local changes to a remote location, bzr pull to fetch and integrate remote changes into the local , and bzr update to refresh the working tree with the latest revisions from the bound . These commands enable seamless management of project evolution without requiring a central server. Bazaar supports flexible tailored to different team structures. In a centralized , developers push changes directly to a mainline on a shared server, mimicking traditional systems like , where bzr push integrates commits to the authoritative repository. Distributed allow independent to exchange revisions via bzr pull and bzr push without a central hub, fostering offline development and selective merging. For team collaboration, shared repositories optimize storage by housing multiple in one location, reducing redundancy while enabling efficient access; users can create such repositories with bzr init --shared and bind working trees to them. Additionally, Bazaar includes shelving functionality via bzr shelve to temporarily store uncommitted changes aside, allowing users to switch tasks or clean the working tree without losing work—unshelving restores them with bzr unshelve. The CLI is extensible through Python plugins, which integrate seamlessly by placing scripts in the ~/.bazaar/plugins directory. Plugins can add new commands or modify existing ones, such as bzr-xmloutput, which extends bzr log, bzr status, and others with an --xml option for machine-readable output in development automation. Another example is bzr-grep, which enables searching file contents and revision history for patterns, aiding in code maintenance and auditing. This modularity allows customization without altering the core tool. While the CLI remains the primary interface, graphical options like QBzr—a Qt-based frontend providing dialogs for core commands—and Bazaar Explorer, a desktop application for browsing branches and visualizing history, offer alternatives for users preferring visual tools; however, these build upon the underlying bzr commands. Best practices in Bazaar emphasize proper configuration and history management. Users should set their identity early with bzr whoami "Full Name <[email protected]>" to ensure accurate attribution in commits, as this information is embedded in revisions. For reviewing project history, bzr log displays a chronological list of changesets, including authors, dates, and messages; options like --line or --tree enhance visualization for branching insights. These habits promote clear collaboration and traceability in workflows.

Integration Capabilities

Bazaar provides robust integration with various integrated development environments (IDEs) through dedicated plugins and hooks, enhancing developer workflows by embedding version control operations directly into editing sessions. For Eclipse, the bzr-eclipse plugin enables seamless interaction with Bazaar repositories, allowing users to perform commits, updates, and branch management from within the IDE, leveraging Launchpad's API for additional functionality such as branch synchronization. Similarly, Vim users can employ the bzr-vim plugin, which integrates Bazaar commands into the editor via the VCSCommand framework, supporting actions like diff viewing and status checks without leaving the Vim interface. Although no native plugin exists for Visual Studio, integration is achievable through external tools configuration, where Bazaar commands can be mapped to Visual Studio's menu system for tasks such as committing changes or viewing logs. Additionally, Bazaar's hook system supports pre-commit checks, permitting custom scripts to validate code quality, run linters, or enforce policies before changes are recorded, configurable via the bzrlib API or simple Python functions. In and () pipelines, integrates effectively with tools like Jenkins and Launchpad's build services. The official plugin for Jenkins (formerly ) facilitates automated builds by polling , executing bzr commands during jobs, and generating changelogs from commit histories, requiring only the bzr on the build . Launchpad's integration extends this by automating testing and packaging for branches associated with projects; for instance, when changes are proposed via branches, Launchpad triggers builds in personal package archives (PPAs), though this service is scheduled for discontinuation on December 11, 2025. However, as of June 2025, announced the phase-out of support on Launchpad, with discontinuation of repository hosting and related services by December 11, 2025, encouraging migration to . Bazaar supports interoperability with foreign version control systems (VCS) through specialized tools for migration and bidirectional operations. The bzr fast-import command imports history from systems like , , CVS, , Darcs, and using a standardized stream format, enabling efficient one-way transfers while preserving such as authors and revisions. For ongoing collaboration, the bzr-svn plugin provides bidirectional bridges to repositories, allowing Bazaar users to push changes back to SVN trunks or pull updates seamlessly, treating SVN as a native-like backend without full repository conversion. Scripting and automation are facilitated by Bazaar's API, known as bzrlib, which exposes core functionality for building custom tools and integrating into larger workflows. Developers can use bzrlib to manipulate branches, query histories, or automate merges programmatically, with the library distributed as python-bzrlib in repositories. In 's Debian packaging ecosystem, bzrlib formerly powered tools like bzr-builddeb, which automates the creation of source and binary packages from Bazaar branches, handling tasks such as generating changelogs, applying patches, and building .deb files directly from upstream sources. For web-based repository management, Bazaar employs Loggerhead as its primary interface, offering a browser-accessible viewer for exploring branch histories, annotating files, and reviewing diffs without local installation. Loggerhead integrates natively with Launchpad, where it serves as the frontend for hosted Bazaar projects, enabling public browsing, subscription to changes, and integration with bug trackers for contextual code reviews.

Cross-Platform Support and Performance

GNU Bazaar provides native support for distributions, where it is primarily developed and optimized, as well as Windows and macOS through Python-based installations. On systems such as , , , , and Gentoo, Bazaar integrates seamlessly via standard package managers. For Windows, it runs via the MSYS environment to provide compatibility, while macOS support leverages the system's runtime. Additional packages exist for , , and other systems, ensuring broad accessibility across diverse operating environments. Bazaar requires 2.7 for operation, a dependency that became unmaintained after Python 2's end-of-life in 2020, limiting long-term viability without community forks. The original implementation lacks native Python 3 support, though forks like address this by porting to Python 3 while maintaining compatibility. In terms of performance, excels with small-to-medium repositories, typically those ranging from 10 to 100 MB, where operations like commits and updates complete efficiently due to its lightweight design. However, it exhibits slowdowns on large histories exceeding several gigabytes, attributable to Python's interpretive overhead and the system's reliance on object-oriented history storage. The introduction of pack formats in Bazaar 2.0 significantly enhanced I/O efficiency, yielding 2-5x improvements in read and write speeds for repository operations in independent benchmarks. Key optimizations include of revision history, which defers full graph construction until necessary, reducing initial startup times and during common workflows. The smart protocol further mitigates network demands by compressing and selectively transmitting changesets, achieving 50-70% bandwidth savings during pull operations over HTTP or SSH compared to naive transfers. Limitations persist, particularly higher memory consumption on Windows due to Python's garbage collection and filesystem interactions, often requiring 20-50% more than on for equivalent tasks. Bazaar's cross-platform , utilizing Python's unittest framework, achieves approximately 90% , ensuring consistent behavior across supported operating systems through automated . Historical benchmarks demonstrate Bazaar's merge operations outperforming by about 20% in time for integrating parallel branches in medium-sized projects. These traits stem from its storage efficiency, which prioritizes readable, pack-based inventories for balanced resource use.

Development and Maintenance

Release History

Bazaar development began with the release of version 0.1 in October 2005, which introduced basic branching and distributed revision control capabilities. The project was hosted on Launchpad, Canonical's collaborative platform, where bugs were tracked using its integrated bug reporting system. Version 1.0 arrived on December 14, 2007, providing a stable suitable for everyday use in workflows. This milestone solidified Bazaar's core functionality, emphasizing ease of use for both local and networked operations. Subsequent major releases built on this foundation. Bazaar 2.0, released in October 2009, established the 2a repository format as the default and enhanced the smart for improved in client-server interactions. In 2010, version 2.2 introduced support for Git-compatible formats, enabling better interoperability with other systems through plugins like bzr-git. The 2.5 series, starting with 2.5.0 in March 2012, focused on optimizations, including tweaks for handling large repositories more efficiently. The final official release, 2.7.0, came on February 15, 2016, incorporating fixes for compatibility with 2.7 and marking the end of active development under Canonical's primary sponsorship. Following Canonical's reduction in funding around , maintenance shifted to a volunteer-driven model. Over the project's lifespan, more than 100 minor versions were released, with peak development activity occurring between and , when monthly contributions often exceeded 10 active participants.

Community Contributions and Forks

After the last official release of GNU Bazaar in 2016, community-driven maintenance shifted primarily to forks and select plugins, as active development on the original project ceased. Launchpad continued to host the Bazaar codebase, allowing limited bug reporting, but no significant fixes or updates were applied post-2016. Plugins such as bzrtools, which provided utilities for Bazaar workflows, saw historical maintenance on Launchpad but lacked ongoing updates by 2025. The most prominent community effort is the fork, initiated in by Jelmer Vernooij to sustain and modernize the project. Rebranded as brz, it completed a full migration from 2 to 3, enabling compatibility with contemporary environments. maintains backwards compatibility with Bazaar's disk formats and protocols, allowing seamless access to existing repositories. It also introduces native support for formats, facilitating interoperability between the two systems. Breezy has seen steady releases continuing into 2025, including version 3.3.17 in October 2025, with ongoing development hosted on both and Launchpad. Adoption includes integration into , where it replaced the original bzr package in 2020 (Fedora 32) to ensure continued support for Bazaar repositories without disruption. The fork provides command-line tools via brz (symlinked as bzr for compatibility) and preserves core APIs for user workflows. Other community contributions include minor plugins like bzr-loom, which extends for advanced weaving of multiple patches in a single branch, though it remains a specialized without broad evolution. A lesser-known effort is the bazaar3 by the bazaar-community, aimed at revitalizing the project, but it has seen limited activity compared to . No major competing forks have emerged beyond . As of 2025, maintains an active development cycle with contributions from a small team, focusing on bug fixes and enhancements. Meanwhile, the official GNU page on gnu.org remains unchanged from its pre-2016 state, promoting the original without updates, while Canonical's 2025 retirement of hosting on Launchpad explicitly recommends migrating repositories to .

Adoption and Impact

Use in Ubuntu and Launchpad

Bazaar became the default version control system for package maintenance starting in late 2008, when branches were made available for nearly all source packages through an automated import process hosted on package-import.ubuntu.com. This integration marked a shift toward distributed development, allowing developers to track changes, experiment with modifications, and prepare for read-write access on Launchpad in subsequent releases. The system supported ongoing updates tied to archive uploads, laying the foundation for collaborative workflows in 's Jaunty and later cycles. Within Ubuntu's ecosystem, was deeply embedded in tools like ubuntu-dev-tools, which streamlined sponsorship workflows for aspiring developers. Commands such as sponsor-patch enabled the efficient handling of patches, syncs, and merges from , generating debdiffs for review and upload to Launchpad bugs while adhering to sponsorship policies. This facilitated contributions from non-uploaders by integrating branches with the broader process, including building and testing via bzr-builddeb. Launchpad hosted tens of thousands of branches at its peak around 2015, including over 17,000 for source packages, serving as the central platform for code collaboration. Core features like merge proposals for code reviews and tracking for feature planning were directly tied to Bazaar repositories, enabling seamless integration with 's development cycle. Bazaar also powered import tools, such as bzr import-dsc, which automated the ingestion of source packages into Ubuntu branches to support derivative maintenance and merging. Ubuntu's kernel development leveraged for branch management until the project's gradual adoption of , with initial tooling experiments beginning in 2014. By 2017, Ubuntu fully transitioned to as the standard for source code workflows, driven by developer preferences and the need for unified repository structures across packages. Launchpad provided dual and support during this period, but will discontinue the Bazaar backend on December 11, 2025, requiring all remaining branches to migrate. Bazaar's role in Ubuntu fostered rapid release cycles by enabling lightweight branching and merging, which accelerated contributions during key milestones like the 10.04 LTS (Lucid Lynx) development. It also trained thousands of contributors in principles, reducing barriers to participation and promoting collaborative practices across the community.

Broader Project Usage and Reception

Bazaar found application in several prominent non-Ubuntu projects, demonstrating its utility in diverse ecosystems. relied on for its branching and revision control needs from 2008 until 2014, when the project transitioned to amid efforts to modernize its development workflow. Early repositories were hosted on Launchpad, leveraging 's distributed model for collaborative cloud infrastructure development. , a , used for its development hosted on Launchpad until migrating to in 2017. Additionally, the Savannah platform, a central hub for software hosting, has long supported repositories, enabling for numerous GNU-affiliated projects. Community reception of Bazaar emphasized its user-friendly design, often highlighting accessibility as a key strength for newcomers to . Reviews from the late 2000s and early 2010s, such as those in technical comparisons, noted its intuitive command structure and support for both centralized and distributed workflows, making it approachable for individual developers and small teams. This ease of use was frequently contrasted with steeper learning curves in alternatives like , with user testimonials praising Bazaar's simplicity for beginners transitioning from traditional systems. However, performance concerns tempered this praise; developers in online discussions from 2010 to 2015 commonly criticized Bazaar's slowness when handling large repositories or extensive histories, attributing it to inefficiencies in operations like and branching. Adoption surveys from the early 2010s reflected Bazaar's niche but growing presence among systems. A 2012 analysis of projects on Ohloh indicated that distributed systems overall accounted for nearly one-third of all tracked projects, with Bazaar contributing to this rise alongside and , though it lagged behind in momentum. By mid-decade, however, 's ascent was unmistakable; the 2015 Stack Overflow Developer Survey reported usage at 69.3% among respondents, underscoring Bazaar's relative decline as industry standards shifted toward faster, more scalable tools. Despite waning popularity, Bazaar left a constructive legacy in educational contexts, where its clear concepts of branching, merging, and revision tracking served as an effective introduction to principles for students and novice programmers. In 2025, Canonical's announcement to retire Bazaar hosting on Launchpad by December 11 has prompted nostalgic reflections on its role in advancing accessible distributed VCS, even as the fork garners praise for sustaining the codebase with 3 compatibility and ongoing bug fixes.

Comparison to Other Version Control Systems

Bazaar offers a more intuitive compared to , with commands that closely resemble those of centralized systems like , making it easier for beginners transitioning from such tools. However, Bazaar is generally slower in performance, particularly for operations on large repositories; benchmarks from 2008 on the tree showed Bazaar to be approximately five times slower than for tasks like cloning and committing, a gap that persisted in 2010 evaluations where consistently outperformed Bazaar in raw speed. 's implementation contributes to its superior efficiency, and its development by for the provided early momentum, leading to capturing around 90% of the market by 2020, largely due to the rise of in 2008 which centralized around workflows. In contrast to (SVN), Bazaar provides superior , allowing developers to maintain full local repositories with offline branching and merging capabilities, whereas SVN requires a central for most operations and lacks native support for distributed workflows. This enables easier branching in Bazaar without dependency, fostering more flexible development, though Bazaar's distributed setup introduces higher initial complexity compared to SVN's straightforward centralized model, which appeals to teams preferring simple, server-managed access control. Bazaar and Mercurial share a Python-based implementation, promoting extensibility through scripting, but Bazaar was more tightly integrated with Canonical's ecosystem, particularly Launchpad for hosting and code review, limiting its appeal outside Ubuntu-related projects. Mercurial, by comparison, gained broader adoption in non-Linux environments through hosts like and endorsements from projects such as and , retaining a stronger user base in diverse settings. Bazaar's relative decline stems from Git's ecosystem momentum, amplified by GitHub's 2008 launch which standardized for social coding and collaboration, outpacing Bazaar's Launchpad-centric model. Additionally, Bazaar's reliance on Python 2 hindered maintenance as Python 3 became standard, with development stalling around 2016, unlike Mercurial's corporate backing from entities like that enabled ongoing enhancements. The fork addresses some of these issues by porting to 3 and incorporating performance optimizations, such as improved formats that enhance speed over legacy versions, though it remains niche and does not fully match Git's C-based efficiency on large-scale operations.

References

  1. [1]
    Bazaar - GNU.org
    Bazaar is a version control system that helps you track project history over time and to collaborate easily with others. Whether you're a single developer, a co ...
  2. [2]
    Bazaar in Launchpad
    Bazaar is a friendly powerful distributed version control system. Bazaar helps people collaborate on software development, by recording the history of the ...<|control11|><|separator|>
  3. [3]
    Bazaar-NG: 7 years of hacking on a distributed version control system
    Dec 13, 2012 · Bazaar - baz on the command-line - was a fork of GNU arch. In the spring of that year I attended Linux.Conf.Au in Canberra.
  4. [4]
    Bazaar - Free Software Directory
    Bazaar (``bzr``) is a decentralized revision control system, designed to be easy for developers and end users alike. It supports both a distributed workflow as ...<|control11|><|separator|>
  5. [5]
    Phasing out Bazaar code hosting - Community - Ubuntu Discourse
    Jun 4, 2025 · Bazaar is a distributed version control system (VCS), developed by Canonical. For a long time, Bazaar was the only supported VCS on Launchpad.
  6. [6]
    bazaar-community/bazaar3: Next generation bazaar VCS - GitHub
    To learn how to use Bazaar, see the official documentation in the `doc` directory or at <http://doc.bazaar.canonical.com/en/>. For additional training ...
  7. [7]
    bazaar-ng 0.1 released
    I'm happy to announce the release of bazaar-ng 0.1. Thankyou very much to everyone who has contributed patches, suggestions, or bug reports.Missing: origins | Show results with:origins
  8. [8]
    [PDF] Distributed Version Control Systems – Why and How
    With a high focus on doing the right thing, usability, workflow flexibility and cross platform support, Bazaar is a safe choice for many teams looking to make ...
  9. [9]
    bazaar-ng 0.1 released - Ubuntu Mailing Lists
    bazaar-ng 0.1 released ... [ date ] [ thread ] [ subject ] [ author ]. On Tue, 2005-10-11 at 15:06 +1000, Martin Pool wrote: > I'm happy to announce the release ...
  10. [10]
    [MERGE] * The C extensions now build on python 2.4 (Robert ...
    Sep 24, 2008 · ... C extensions to build on python 2.4 with older pyrex > versions (such as dapper has). You could change _patiencediff_c.c to use this shared code ...
  11. [11]
    Bazaar is now a GNU project - Ubuntu Mailing Lists
    Bazaar is now a GNU project. Martin Pool mbp at canonical.com. Tue Feb 26 08:10:36 GMT 2008. Previous message: [ANNOUNCE] bzr-fastimport plugin, ...
  12. [12]
    Using Launchpad with Bazaar - Ubuntu documentation
    You can also mirror Bazaar branches that are hosted elsewhere on the internet and even import git, Subversion and CVS repositories into Bazaar branches.
  13. [13]
    Canonical releases version 1.0 of Bazaar version control tool for ...
    Canonical releases version 1.0 of Bazaar version control tool for efficient developer collaboration · Decentralised version control system eases management of ...
  14. [14]
    Bzr - Ubuntu Wiki
    Jan 29, 2009 · Bazaar is a distributed version control system available under the GPL that aids open source development and reduces barriers to participation.
  15. [15]
    Bazaar branches for all Ubuntu source packages available
    Nov 27, 2008 · Bazaar branches for all Ubuntu source packages available. James Westby jw+debian at jameswestby.net. Thu Nov 27 09:28:26 GMT 2008.Missing: default adoption
  16. [16]
    Import code into Launchpad - Ubuntu documentation
    Launchpad provides a free service which imports the trunk of a project from Subversion, CVS, or Git to Bazaar, or from Git to Git, and then keeps that import up ...
  17. [17]
    Code imports - Launchpad manual - Ubuntu documentation
    Jul 31, 2025 · Launchpad provides a free service which imports the trunk of a project from Subversion, CVS, or Git to Bazaar, or from Git to Git, and then ...
  18. [18]
    Centralized Workflow Tutorial - Bazaar Documentation
    The best way to do this is to create a Shared Repository. In general, branches will share their storage if they exist in a subdirectory of a Shared Repository.
  19. [19]
    What I work on - James Westby
    Sep 14, 2010 · This effort is firstly about getting Ubuntu to use Bazaar, and a suite of associated tools, to get the packaging work done. There are ...Missing: internal | Show results with:internal
  20. [20]
    Bazaar Release Notes - Bazaar Documentation - Canonical - YUMPU
    Apr 12, 2013 · (Martin Pool, Martin von Gagern, #545185)<br />. • bzr add will not ... • On GNU/Linux bzr additionally looks for plugins in arch-independent site ...
  21. [21]
    How we're open sourcing Launchpad.
    Jan 16, 2009 · With around 10,000 projects using Launchpad.net as of January 2009 ... Codehosting provides the integration between Bazaar and Launchpad.
  22. [22]
    DistributedDevelopment/Specification - Ubuntu Wiki
    Nov 2, 2009 · Phase 1: Ubuntu source code managed in bzr. Goals. Source code for all Ubuntu packages in Bazaar on Launchpad. Layout is trivially buildable ...Implementation Strategy · Phase 1: Ubuntu Source Code... · Design Details
  23. [23]
    [PDF] Leveraging Open-Source Software in the Design and Development ...
    CHI 2009 ~ Case Studies ~ Experience with Software & System Development ... Bugzilla uses an open-source version control system called Bazaar that can automate ...
  24. [24]
    GNU Emacs is on Bazaar now.
    Oct 10, 2015 · In case you missed it: GNU Emacs is on Bazaar now. Please see http://www.emacswiki.org/emacs/BzrForEmacsDevs for how to (re)obtain your ...On the subject of Git, Bazaar, and the future of Emacs developmentRe: GNU Emacs is on Bazaar now.More results from lists.gnu.orgMissing: integration | Show results with:integration
  25. [25]
    The Evolution of Git: How It Became the Standard for Version Control?
    Jul 23, 2025 · It was released in April 2005, and within months, Git became the primary version control system for the Linux kernel.
  26. [26]
    Which one do I choose, Git, Bazaar, or Subversion? Why? - Quora
    Oct 30, 2018 · Git has much better runtime performance. Until you have used it for long enough time to learn to expect that level of performance, you don't ...
  27. [27]
    Ubuntu Blog | Ubuntu
    Here in the design team we use both Bazaar and Git to keep track our projects' hostory. We quite often end up coverting our projects from Bazaar to Git or...
  28. [28]
    GNU Emacs Finally Switching Over To Git From Bazaar - Phoronix
    Nov 11, 2014 · GNU Emacs is finally in the process of transitioning to Git for their revision control system rather than GNU Bazaar.Missing: integration | Show results with:integration
  29. [29]
    Deprecating CVS and Subversion imports - Launchpad Blog
    Aug 25, 2025 · Launchpad's code import service allows users to automatically mirror code from external version control systems into Launchpad. Historically, ...Missing: integration features shared
  30. [30]
    Launchpad Blog
    ### Summary of Bazaar Code Hosting Phase-Out
  31. [31]
    Bazaar v2.2b1 documentation
    This document outlines the major improvements in Bazaar 2.2 vs. Bazaar 2.1. As well as summarizing improvements made to the core product, it highlights ...
  32. [32]
    bzr - Bazaar next-generation distributed version ... - Ubuntu Manpage
    bzr branch FROM_LOCATION [TO_LOCATION] Create a new branch that is a copy of an existing branch. bzr branches [LOCATION] List the branches available at the ...Missing: documentation | Show results with:documentation
  33. [33]
    Merging changes - Bazaar - Documentation & Help
    To incorporate changes from another branch, use the merge command. Its syntax is: bzr merge [URL] If no URL is given, a default is used.Missing: GNU | Show results with:GNU
  34. [34]
    Resolving conflicts - Bazaar - Documentation & Help
    You can resolve conflicts by simply manually editing each file in question, fixing the relevant areas and removing the conflict markers as you go.Missing: GNU | Show results with:GNU
  35. [35]
    Supporting nested trees in Bazaar : Blueprints : Bazaar
    ### Summary of Nested Trees and Stacked Branches in Bazaar
  36. [36]
    compressed weaves, and revision.weave - Ubuntu Mailing Lists
    Oct 25, 2005 · ... weave-like format at some time in the future. I have the start of some code for that here. http://people.ubuntu.com/~mbp/bzr.mbp.knit/ There ...
  37. [37]
    switch to weave format (with new content!) - Ubuntu Mailing Lists
    Oct 5, 2005 · switch to weave format (with new content!) · Previous message: switch to weave format · Next message: Bzr Traffic #1 · Messages sorted by: [ date ] ...
  38. [38]
    [MERGE] Packs. Kthxbye. - Ubuntu Mailing Lists
    Oct 17, 2007 · + > + This repository format has: > + - knits for file texts and inventory > + - hash subdirectory based stores. > + - knits for revisions ...
  39. [39]
    Implementation notes - Bazaar Documentation
    Delta · Radix tree based inventories · Overview · Goal satisfaction · Issues · Canonical form · Apply · Delta · Hash Trie details · Insertion · Inventory deltas ...
  40. [40]
    Signed Revisions with Bazaar – James Henstridge - GNOME Blogs
    Signatures are transferred along with revisions when you push or pull a branch, perform merges, etc. How Does It Work? So what does the signature look like, and ...
  41. [41]
  42. [42]
    Other Setups - Bazaar Documentation
    Currently HTTP, FTP, SFTP and HTTP+WebDAV can be used to read branches remotely. FTP, SFTP and HTTP+WebDAV can be used for writing as well. To use any of these ...Missing: GNU custom
  43. [43]
    Upgrades - Bazaar - Documentation & Help
    Bazaar has a strong commitment to inter-version compatibility both on disk and over the network. Newer clients should be able to interact with older versions ...Missing: interop | Show results with:interop
  44. [44]
    bzr-svn - Samba.org
    bzr-svn is a plugin that allows Bazaar direct access to Subversion repositories. It allows most bzr commands to work directly against Subversion repositories, ...Missing: CVS shared<|separator|>
  45. [45]
    bzr(1) - Linux man page - Die.net
    It is significantly faster and smaller than older formats. It is compatible with Bazaar 0.19 and later. It is the default. "0.9" uses revision bundle format 0.9 ...
  46. [46]
    Bazaar Tutorial - Documentation & Help
    Bazaar give you the ability to track changes for a directory by turning it into something slightly more complicated than a directory that we call a branch.Missing: GNU | Show results with:GNU
  47. [47]
    Manage Distributed Source Branches with Bazaar | Linode Docs
    Jan 18, 2010 · This document provides an introduction to all aspects of the Bazaar version control system: beginning with the installation of Bazaar, moving ...Missing: GNU | Show results with:GNU<|control11|><|separator|>
  48. [48]
  49. [49]
    Working with Bazaar - Inkscape Wiki
    May 21, 2024 · This page contains an introduction to the Bazaar distributed version control system. It focuses on the use of Bazaar to develop Inkscape.
  50. [50]
    Workflows - Bazaar Documentation - Documentation & Help
    Decentralized with shared mainline ... In this workflow, each developer has their own branch or branches, plus commit rights to the main branch. They do their ...
  51. [51]
  52. [52]
  53. [53]
    bzr-xmloutput in Launchpad
    This plugin adds a "--xml" option to log, and provides an "xml version" of the following bazaar commands: log, status, annotate, missing, info, plugins and ...Missing: extensible grep
  54. [54]
    Bzr-grep - Free Software Directory
    Mar 20, 2013 · A plugin for Bazaar that adds the ability to grep files and history in a repository. This command searches the specified files and revisions for ...Missing: extensible xmloutput
  55. [55]
    Using Bazaar · mixxxdj/mixxx Wiki - GitHub
    Sep 13, 2012 · Here's a list of graphical Bazaar clients that Mixxx developers have tested: Windows, Mac OS X, Bazaar Explorer, Linux, Cross-Platform.
  56. [56]
    Bazaar Explorer in Launchpad
    Bazaar Explorer is a desktop application for using the Bazaar Version Control System. It provides a high level interface to all commonly used features.
  57. [57]
    Tutorial: Bazaar Version Control - Programming - Chief Delphi
    Dec 31, 2009 · Tutorial: Bazaar Version Control · One single directory for code · Every revision can be tagged · A detailed log of every revision · Easy exports ...Missing: storage GnuPG
  58. [58]
    Launchpad plugin for Eclipse – using the Launchpad API
    Nov 14, 2008 · bzr-eclipse, a Bazaar plugin for Eclipse, that talks to the Launchpad/Bazaar integration using launchpadlib. The developer says: “The API is ...
  59. [59]
    bzr-vim integration in Launchpad
    May 26, 2008 · This project is working to integrate the ViM editor and the Bazaar Version Control System. A working plugin for ViM's VCSCommand plugin has been ...
  60. [60]
    Bazaar in Visual Studio: External Tools - Code Project
    Aug 3, 2011 · This article will show how to integrate Bazaar into the Visual Studio Integrated Development Environment (IDE) using Visual Studio's External ...Missing: plugin | Show results with:plugin
  61. [61]
    Using hooks - Bazaar - Documentation & Help
    Hooks allow you to perform actions before or after certain Bazaar operations. The operations include commit, push, pull, and uncommit. For a complete list ...
  62. [62]
    Bazaar | Jenkins plugin
    Feb 19, 2013 · This plugin integrates Bazaar version control system to Jenkins. The plugin requires the Bazaar binary (bzr) to be installed on the target ...Missing: integration Hudson
  63. [63]
    Using Bazaar with Launchpad - Bazaar Documentation
    PPAs help developers and development teams get custom builds into the hands of users for early testing and feedback. In other words, a PPA allows a developer to ...
  64. [64]
    Bazaar Fast Import in Launchpad
    Feb 21, 2008 · Front-ends are available for a wide range of foreign VCS tools including Subversion, CVS, Git, Mercurial, Darcs and Perforce. New front-ends are ...
  65. [65]
    BzrBuildpackage - Debian Wiki
    Jun 3, 2025 · brz-debian (previously known as bzr-builddeb, sometimes referred to as bzr-buildpackage) helps to automate the task of maintaining Debian ...
  66. [66]
    loggerhead in Launchpad
    Loggerhead is the web viewer for projects in bazaar. It can be used to navigate a branch history, view & annotate files, view changes as diffs, ...Missing: interfaces integration
  67. [67]
    Web-based code browsing - Bazaar Documentation
    Loggerhead. Loggerhead is a code browsing interface for Bazaar branches (now used in Launchpad). To see an example of Loggerhead in action, browse to http ...
  68. [68]
    Bazaar User Guide | PDF | Version Control - Scribd
    The Bazaar User Guide provides comprehensive instructions on using Bazaar, a version control system that facilitates collaboration by tracking changes in files.
  69. [69]
    Bazaar-2.5.1 - Linux From Scratch!
    Feb 23, 2014 · Bazaar is a version control system that helps track project history over time and collaborate with others. ... Required. Python-2.7.6 ...
  70. [70]
    How significant is the bazaar performance factor? - git - Stack Overflow
    Apr 1, 2009 · The python developers recently decided to switch to Mercurial and as part of the process did some basic benchmarking of git, Mercurial and ...
  71. [71]
    What's New in Bazaar 2.2? — Breezy 3.4.0.dev documentation
    Aug 6, 2010 · The main changes in 2.2 are: better local and network performance, reduced memory usage, and several user-interface improvements. Users are ...
  72. [72]
    Bazaar 0.91 released - Ubuntu Mailing Lists
    ... bandwidth into account on a per-connection basis, but for now it > just has hard coded values based on the url. (e.g. http:// has a large > page size, file ...
  73. [73]
    What are the relative strengths and weaknesses of Git, Mercurial ...
    Sep 16, 2008 · From what I have heard and read main Bazaar advantages are it easy support for centralized workflow (which is also disadvantage, with ...Missing: benchmarks | Show results with:benchmarks
  74. [74]
    bzr 0.1 release candidate 2 - Ubuntu Mailing Lists
    bzr 0.1 release candidate 2. Martin Pool martinpool at gmail.com. Mon Oct 10 05:38:41 BST 2005. Previous message: [PATCH] better handling of symlinks in ...
  75. [75]
    Bazaar Version 1.0 Released - » Linux Magazine
    Dec 14, 2007 · Version 1.0 of Bazaar, a software for decentralized version control has just been released. Share. Dec 14, 2007. Mathias Huber. Version 1.0 of ...
  76. [76]
    Bazaar 2.0.0 "Instant Karma" - Launchpad
    Sep 21, 2009 · The 2.0 release for bzr is the release that makes the 2a format the default. Milestone information. Project: Bazaar. Series: 2.0. Version: ...
  77. [77]
    bzr 2.2.0 released! - GNU mailing lists
    Sep 6, 2010 · Bazaar is now available for download from https://launchpad.net/bzr/2.2/2.2.0 as a source tarball or packaged for various systems. This release ...Bazaar 2.0.3 and 2.1.0b4 released! - GNU mailing lists[ANN] bzr 2.3.0 released ! - GNU mailing listsMore results from lists.gnu.org
  78. [78]
    [ANN] bzr 2.5.0 released - Ubuntu Mailing Lists
    Mar 8, 2012 · [ANN] bzr 2.5.0 released. Vincent Ladeuil vila+bzr at canonical.com. Thu Mar 8 12:22:56 UTC 2012. Next message: [ANN] bzr-upload 1.0.1 and ...
  79. [79]
    Milestones : Bazaar
    ### Major Release Milestones for Bazaar
  80. [80]
    BzrTools - Launchpad Code
    The information on this page is private. Launchpad will shut down the Bazaar codehosting service soon. Active projects must be migrated to Git.
  81. [81]
    Bazaar Version Control System Forked As Breezy - Phoronix
    Jan 8, 2018 · Breezy is cleaning up Bazaar's bugs as well as porting the code-base from Python 2 to Python 3, which is important with Py2 nearing its end-of- ...Missing: history | Show results with:history
  82. [82]
    breezy-team/breezy: A Distributed Version Control System ... - GitHub
    Breezy is a friendly fork of the Bazaar ( bzr ) project, hosted on https://launchpad.net/bzr. It is backwards compatibility with Bazaar's disk format and ...
  83. [83]
    breezy · PyPI
    Breezy is Free Software, and is released under the GNU General Public License, version 2 or later. Breezy is a friendly fork of the Bazaar (bzr) project, hosted ...
  84. [84]
    Changes/ReplaceBazaarWithBreezy - Fedora Project Wiki
    Oct 25, 2019 · Users of Fedora will be able to use bazaar repositories via breezy. If we don't do this, bzr would be simply removed without a replacement.
  85. [85]
    Loom in Launchpad
    Loom is a Bazaar plugin to assist in developing focused patches. It adds a 'loom' to a bzr branch. A loom allows the development of multiple patches at once.Missing: forks | Show results with:forks
  86. [86]
    Canonical Finally Phasing Out Bazaar Code Hosting - Phoronix
    Jun 5, 2025 · Ubuntu Linux maker Canonical announced they will be sunsetting their Bazaar distributed revision control system code hosting with Launchpad. Git wins.
  87. [87]
    sponsor-patch(1) — ubuntu-dev-tools — Debian unstable
    Sep 15, 2025 · sponsor-patch can be used for sponsoring patches, syncs and merges from Debian, SRUs, and creating debdiffs from patches. If bug has multiple ...
  88. [88]
    UbuntuDevelopment/Merging - Ubuntu Wiki
    Sep 22, 2022 · To grab all the files needed for the merge from MoM, use the grab-merge script in the ubuntu-dev-tools package. The Process of Merging/Syncing.
  89. [89]
    DistributedDevelopment/DebianImportSpecification - Ubuntu Wiki
    Ubuntu development is based on Debian, most of our packages come from there, and we regularly merge changes from there. Just having Ubuntu in bzr has limited ...
  90. [90]
    Developing Ubuntu using git
    Jul 24, 2017 · We're now interested in developing this work to make git become the way of working with Ubuntu's source code.
  91. [91]
    UbuntuWeeklyNewsletter/Issue172 - Ubuntu Wiki
    Dec 15, 2009 · For Ubuntu Linux, that version control system is its own Bazaar (bzr) system, which make it easier for the project to encourage and manage ...
  92. [92]
    CHANGES - OpenStack Docs
    Jul 1, 2017 · Merged with http://bazaar.launchpad.net/~vishvananda/nova/lp703037; Merged trunk; Simple little changes related to openstack api to work ...
  93. [93]
    www.gnu.org - Bazaar Repositories [Savannah]
    Savannah is a central point for development, distribution and maintenance of free software, both GNU and non-GNU.
  94. [94]
    Git, Mercurial and Bazaar – A Comparison - TechTatva
    Sep 9, 2010 · Ease of Use: For a beginner who is new to Version Controls Git will definitely seem much more confusing than the other two, and one has to go ...
  95. [95]
    Centralized vs Decentralized Version Control: 2010 vs 2012
    Nov 5, 2012 · Second, that Git substantially outperformed both Bazaar and Mercurial from a growth perspective. As obvious as it may be, however, that ...
  96. [96]
  97. [97]
    RhodeCode › Blog: Version Control Systems Popularity in 2025
    Mar 18, 2025 · In 2016, 87.1% of developers preferred Git, and by 2025, its usage had risen to 93.87%. The Stack Overflow Developer Survey ranks version ...
  98. [98]
    What is version control: centralized vs. DVCS - Work Life by Atlassian
    Feb 14, 2012 · Centralized version control systems are based on the idea that there is a single “central” copy of your project somewhere (probably on a server).
  99. [99]
    Why to use SVN? Any hidden pros (over GIT/Mercurial/Bazaar) there?
    Jul 9, 2010 · In addition, users find authz files easier to write than Git commit hooks, are more comfortable with the SVN syntax and methodology than any ...What are the relative strengths and weaknesses of Git, Mercurial ...Comparison between Centralized and Distributed Version Control ...More results from stackoverflow.comMissing: comparison | Show results with:comparison
  100. [100]
    PEP 374 – Choosing a distributed VCS for the Python project
    Feb 1, 2025 · Martin Pool adds: “bzr has a stable Python scripting interface, with a distinction between public and private interfaces and a deprecation ...
  101. [101]
    Breezy: Home
    What is Breezy? Breezy is a version control system implemented in Python with multi-format support and an emphasis on hackability.Missing: fork GNU revival