Bazaar (vcs)
Encyclopedia
Bazaar is a distributed revision control
Distributed revision control
A distributed revision control system , distributed version control or decentralized version control keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a common network.-Distributed vs...

 system sponsored by Canonical
Canonical Ltd.
Canonical Ltd. is a private company founded by South African entrepreneur Mark Shuttleworth to market commercial support and related services for Ubuntu Linux and related projects. Canonical is registered in London and employs staff around the world...

.

Bazaar can be used by a single developer working on multiple branches of local content, or by teams collaborating across a network.

Bazaar is written in the Python programming language, with packages for major GNU
GNU
GNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...

/Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 distributions, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 and MS Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

. Bazaar is free software and part of the GNU project
GNU Project
The GNU Project is a free software, mass collaboration project, announced on September 27, 1983, by Richard Stallman at MIT. It initiated GNU operating system development in January, 1984...

.

Features

Bazaar commands are quite similar to those found in CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

 or Subversion.
A new project can be started and maintained without a remote repository server by invoking the bzr init command in a directory which a person wishes to version.

In contrast to purely distributed version control systems which don't use a central server, Bazaar supports working with or without a central server. It is possible to use both methods at the same time with the same project. The websites Launchpad
Launchpad (website)
Launchpad is a web application and website that allow users to develop and maintain software, particularly free software. Launchpad is developed and maintained by Canonical Ltd....

 and Sourceforge
SourceForge
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...

 provide free hosting service for projects managed with Bazaar.

Bazaar has support for working with some other revision control systems. This allows users to branch from another system (such as Subversion), make local changes and commit them into a Bazaar branch, and then later merge them back into the other system. Read-only access is also available for Git
Git (software)
Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...

 and Mercurial
Mercurial (software)
Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. It is supported on Windows and Unix-like systems, such as FreeBSD, Mac OS X and Linux...

. Bazaar also allows for interoperation with many other systems (including CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

, Darcs
Darcs
Darcs is a distributed revision control system created by David Roundy; it was designed to replace traditional, centralized source control systems such as CVS and Subversion...

, Git
Git (software)
Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...

, Perforce
Perforce
Perforce is a commercial, proprietary, centralized revision control system developed by Perforce Software, Inc.-Architecture:Perforce is a client/server system.The server manages a central database and a master repository of file versions....

, Mercurial
Mercurial
Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. It is supported on Windows and Unix-like systems, such as FreeBSD, Mac OS X and Linux...

) by allowing one to import/export the history.

Bazaar supports files with names from the complete Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

 set. It also allows commit messages, committer names, etc. to be in Unicode.

Baz: an earlier Canonical version control system

The name "Bazaar" was originally used by a fork of the GNU arch
GNU arch
In computing, GNU arch is a distributed revision control system that is part of the GNU Project and licensed under the GNU General Public License...

 client tla. This fork is called Baz to distinguish it from the current Bazaar software. Baz was announced in October 2004 by Canonical employee Robert Collins and maintained until 2005, when the project then called Bazaar-NG (the present Bazaar) was announced as Baz's successor. Baz is now unmaintained and Canonical declared it deprecated. The last release of Baz was version 1.4.3, released October 2005. A planned 1.5 release of Baz was abandoned in 2006.

Bazaar

In February 2005, Martin Pool, a developer who had previously described and reviewed a number of revision control systems in talks and in his weblog, announced that he had been hired by Canonical and tasked with "build[ing] a distributed version-control system that open-source hackers will love to use." A public website and mailing list were established in March 2005 and the first numbered pre-release, 0.0.1, was released on March 26, 2005.

Bazaar was conceived from the start as a different piece of software from both GNU arch and Baz. It has a different command set and is a completely different codebase and design. Bazaar was originally intended as a test-bed for features to be later integrated into Baz, but by mid-2005 many of the major Baz developers had begun working primarily on Bazaar directly and Baz was abandoned.

Version 1.0 of Bazaar was released in December 2007. In February 2008, Bazaar became a GNU project.

Source code hosting

The following websites provide free source code hosting for Bazaar repositories:
  • Launchpad
    Launchpad (website)
    Launchpad is a web application and website that allow users to develop and maintain software, particularly free software. Launchpad is developed and maintained by Canonical Ltd....

  • GNU Savannah
    GNU Savannah
    GNU Savannah is a project of the Free Software Foundation initiated by Loïc Dachary, which serves as a collaborative software development management system for Free Software projects. Savannah currently offers CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, mailing list, web hosting, file...

  • Sourceforge
    SourceForge
    SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...

  • Fedora Hosted

Projects using Bazaar

Prominent projects that use Bazaar for version control include:
  • Ubuntu
    Ubuntu (operating system)
    Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...

  • Armagetron Advanced
    Armagetron Advanced
    Armagetron Advanced is a multiplayer game in 3D that attempts to emulate and expand on the light cycle sequence from the film Tron. It is available for Linux, Mac OS X, Microsoft Windows, AmigaOS 4 and OpenBSD as free software released under version 2 of the GNU General Public...

  • GNU Emacs
  • GNU GRUB
    GNU GRUB
    GNU GRUB is a boot loader package from the GNU Project. GRUB is the reference implementation of the Multiboot Specification, which provides a user the choice to boot one of multiple operating systems installed on a computer or select a specific kernel configuration available on a particular...

  • GNU Mailman
    GNU Mailman
    GNU Mailman is a computer software application from the GNU project for managing electronic mailing lists.Mailman is coded primarily in Python and currently maintained by Barry Warsaw...

  • GNU PDF
    GNU PDF
    GNUpdf is a GNU project that aims to completely implement the Portable Document Format standards in free software. While many projects, such as Poppler already freely provide support of PDF adequate for most, none provide a complete implementation...

  • GNU Wget
  • Inkscape
    Inkscape
    Inkscape is a free software vector graphics editor, licensed under the GNU General Public License. Its goal is to implement full support for the Scalable Vector Graphics 1.1 standard....

  • MySQL
    MySQL
    MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

  • Gnash
    Gnash
    Gnash is a media player for playing SWF files. Gnash is available both as a standalone player for desktop computers and embedded device, as well as a plugin for several browsers. It is part of the GNU Project and is a Free and open-source alternative to Adobe Flash Player...

  • GNOME
    GNOME
    GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

     bindings for Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

  • Squid
  • Stellarium
  • OpenStack
    OpenStack
    OpenStack is an IaaS cloud computing project by Rackspace Cloud and NASA. Currently more than 120 companies have joined the project among which are Citrix Systems, Dell, AMD, Intel, Canonical, SUSE Linux, HP, and Cisco...

     (IaaS cloud computing platform)

See also

  • Distributed revision control
    Distributed revision control
    A distributed revision control system , distributed version control or decentralized version control keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a common network.-Distributed vs...

  • Comparison of revision control software
    Comparison of revision control software
    The following is a comparison of revision control software. The following tables includes general and technical information for notable revision control and software configuration management software.- General information :Table Explanation...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK