GNU Bazaar
![]() |
|
Original author(s) | Martin Pool |
---|---|
Developer(s) | Canonical and community |
Initial release | 26 March 2005[1] |
Stable release | 2.7.0 (15 February 2016[±][2] | )
Preview release | 2.6b2 (24 July 2012[±] | )
Development status | Active[3] |
Written in | Python, Pyrex, C |
Operating system | Cross-platform |
Type | Distributed revision control system |
License | GPLv2 or later.[4] |
Website | bazaar |
GNU Bazaar (formerly Bazaar-NG, command line tool bzr
) is a distributed revision control system sponsored by Canonical.
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/Linux distributions, Mac OS X and Microsoft Windows. Bazaar is free software and part of the GNU Project.[5][6]
Contents
Features
Bazaar commands are quite similar to those found in CVS 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.[7]
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 and Sourceforge provide free hosting service for projects managed with Bazaar.
Bazaar has support for working with some other revision control systems.[8] This allows users to branch from another system (such as Subversion[9]), 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[10] and Mercurial.[11] Bazaar also allows for interoperation with many other systems (including CVS, Darcs, Git, Perforce, Mercurial) by allowing one to import/export the history.[12]
Bazaar supports files with names from the complete Unicode set. It also allows commit messages, committer names, etc. to be in Unicode.
History
Baz: an earlier Canonical version control system
The name "Bazaar" was originally used by a fork of the GNU arch client tla. This fork is now[update] called Baz to distinguish it from the current Bazaar software.[13] Baz was announced in October 2004 by Canonical employee Robert Collins[14] and maintained until 2005, when the project then called Bazaar-NG (the present Bazaar) was announced as Baz's successor.[15] Baz is now unmaintained and Canonical declared it deprecated.[16][17] The last release of Baz was version 1.4.3, released October 2005.[18] A planned 1.5 release of Baz was abandoned in 2006.[19]
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."[20] A public website and mailing list were established in March 2005 and the first numbered pre-release, 0.0.1, was released on 26 March 2005.[21][22][23]
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.[17]
Version 1.0 of Bazaar was released in December 2007.[24] In February 2008, Bazaar became a GNU Project.[5] In April 2012 Martin Pool left Canonical[25] and the pace of development of the project has recently slowed down.[26] According to Jelmer Vernooij the members of Canonical's Bazaar team were assigned to different tasks in early 2012 and he himself stepped down from contributing to Bazaar at the end of 2012, after 7 years of contributing to the project.[27] In March 2013 a discussion on the GNU Emacs mailing list started about whether Bazaar is still effectively maintained and if Emacs should move to another version control system.[28] In January 2014 Eric Raymond proposed and coordinated a transition of GNU Emacs from Bazaar to the git version control system.[29] This transition was completed in November 2014.[30] Likewise, the Bugzilla project retired Bazaar in favor of git in March 2014 for multiple reasons, one of them being the impression that Bazaar was almost dead: "There are maybe 2-3 commits to trunk every month. The time to fix bugs in Bazaar also seems to be quite long, generally."[31]
Version 2.7.0 was released on February 2016.[32]
Adoption
Source code hosting
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
The following websites provide free source code hosting for Bazaar repositories:
Projects using Bazaar
Prominent projects that use Bazaar for version control include:
- KiCad[34]
- Ubuntu[35]
- Armagetron Advanced[36]
- Inkscape[37]
- Squid[38]
- Stellarium
- BigDFT
- Beautiful Soup[39]
- Midori[40]
See also
- Distributed revision control
- Comparison of revision control software
- Comparison of open source software hosting facilities
- The Cathedral and the Bazaar (source of the name)
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ https://launchpad.net/bzr/+announcement/13860
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ bzr man page
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ bzr git support plugin in Launchpad
- ↑ The Bazaar Hg Plugin in Launchpad
- ↑ fastimport documentation
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 17.0 17.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.