GNU Bazaar

GNU Bazaar
Original author(s)Martin Pool
Developer(s)Canonical and community
Initial release26 March 2005; 19 years ago (2005-03-26)[1]
Final release
2.7.0[2] Edit this on Wikidata / 15 February 2016
Repositorycode.launchpad.net/bzr
Written inPython 2, Pyrex (optional), C
Operating systemCross-platform
SuccessorBreezy
TypeDistributed and Client–server revision control system
LicenseGPL-2.0-or-later[3]
Websitebazaar.canonical.com

GNU Bazaar (formerly Bazaar-NG, command line tool bzr) is a distributed and client–server 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 Linux distributions, Mac OS X and Microsoft Windows. Bazaar is free software and part of the GNU Project.[4][5]

Features

[edit]

Bazaar commands are similar to those found in CVS or Subversion. A new project can be started and maintained without a remote repository server by invoking bzr init in a directory which a person wishes to version.[6]

In contrast to purely distributed version control systems which do not use a central server, Bazaar supports working with or without a central server.[clarification needed] 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.[7] This allows users to branch from another system (such as Subversion[8]), 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[9] and Mercurial.[10] Bazaar also allows for interoperation with many other systems (including CVS, Darcs, Git, Perforce, Mercurial) by allowing one to import/export the history.[11]

Bazaar supports files with names from the complete Unicode set. It also allows commit messages, committer names, etc. to be in Unicode.

History

[edit]

Baz: an earlier Canonical version control system

[edit]

The name "Bazaar" was originally used by a fork of the GNU arch client tla. This fork is now called Baz to distinguish it from the current Bazaar software.[12] Baz was announced in October 2004 by Canonical employee Robert Collins[13] and maintained until 2005, when the project then called Bazaar-NG (the present Bazaar) was announced as Baz's successor.[14] Baz is now unmaintained and Canonical declared it deprecated.[15][16] The last release of Baz was version 1.4.3, released October 2005.[17] A planned 1.5 release of Baz was abandoned in 2006.[18]

Bazaar

[edit]

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."[19] 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.[20][21][22]

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.[16]

Version 1.0 of Bazaar was released in December 2007.[23] In February 2008, Bazaar became a GNU Project.[4] In April 2012 Martin Pool left Canonical[24] and the pace of development of the project slowed.[25] 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.[26] 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.[27] In January 2014 Eric Raymond proposed and coordinated a transition of GNU Emacs from Bazaar to the git version control system.[28] This transition was completed in November 2014.[29] 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."[30]

Version 2.7.0 was released in February 2016.[31]

Breezy

[edit]

Bazaar was forked as Breezy in 2017 to allow backwards-incompatible changes to be made, such as migrating from Python 2 to Python 3 and dropping support for older versions of Windows.[32]

Adoption

[edit]

Source code hosting

[edit]

The following websites provide free source code hosting for Bazaar repositories:

Projects using Bazaar

[edit]

Prominent projects that have used Bazaar for version control include:

  • Ubuntu (but there were no Bazaar commits since 2022[35])

See also

[edit]

References

[edit]
  1. ^ "bzr 0.0.1 released". Archived from the original on 3 March 2016. Retrieved 12 June 2008.
  2. ^ "2.7.0 released". 15 February 2016. Retrieved 10 April 2016.
  3. ^ "What is Bazaar?". Archived from the original on 9 May 2013. Retrieved 4 April 2010. Bazaar is an official GNU project, licensed under the GPLv2 or later, at your option.
  4. ^ a b Pool, Martin (26 February 2008). "Bazaar is now a GNU project". bazaar-announce (Mailing list). Archived from the original on 13 April 2016. Retrieved 23 May 2008.
  5. ^ Pool, Martin (21 May 2008). "Bazaar becomes a GNU project". info-gnu (Mailing list). Archived from the original on 3 March 2016. Retrieved 23 May 2008.
  6. ^ "bzr man page". Archived from the original on 23 May 2009. Retrieved 22 January 2009.
  7. ^ Vernooij, Jelmer; John Meinel; Olad Conradi; Martin Pool; Wouter Van Heyst; Aaron Bentley (15 June 2007). "BzrForeignBranches". Archived from the original on 7 June 2007. Retrieved 21 June 2007.
  8. ^ Vernooij, Jelmer; Mark Lee; Neil Martinsen-Burrell; Robert Collins; Alexandre Vassalotti; Stijn Hoop (7 June 2007). "BzrForeignBranches/Subversion". Archived from the original on 26 June 2007. Retrieved 21 June 2007.
  9. ^ "bzr git support plugin in Launchpad". Archived from the original on 26 September 2006. Retrieved 4 August 2006.
  10. ^ "The Bazaar Hg Plugin in Launchpad". Archived from the original on 26 September 2006. Retrieved 4 August 2006.
  11. ^ "fastimport documentation". Archived from the original on 29 December 2016. Retrieved 6 January 2010.
  12. ^ Pool, Martin; Matthieu Moy; Matthew Hannigan (9 March 2007). "Branding". Archived from the original on 15 July 2007. Retrieved 16 June 2007.
  13. ^ Collins, Robert (29 October 2004). "Announce: Bazaar". Gnu-arch-users (Mailing list). Archived from the original on 3 March 2016. Retrieved 16 June 2007.
  14. ^ Moy, Matthieu (20 August 2005). "Future of GNU Arch, bazaar and bazaar-ng ... ?". bazaar-old (Mailing list). Archived from the original on 17 August 2014. Retrieved 16 June 2007.
  15. ^ "Baz1x - Bazaar Version Control". 24 July 2006. Archived from the original on 7 January 2008. Retrieved 17 January 2008.
  16. ^ a b Arbash Meinel, John; Aaron Bentley; Martin Pool; Mark Shuttleworth (26 July 2006). "HistoryOfBazaar". Archived from the original on 26 February 2009. Retrieved 20 February 2008.
  17. ^ Moy, Matthieu (25 October 2005). "ReleaseNotes1.4.3". Archived from the original on 28 September 2007. Retrieved 16 June 2007.
  18. ^ Collins, Robert (30 June 2006). "releasing 1.5". bazaar-old (Mailing list). Archived from the original on 12 May 2011. Retrieved 16 June 2007.
  19. ^ Pool, Martin (1 February 2005). "sourcefrog: A beginning". Archived from the original on 22 July 2012. Retrieved 23 May 2008.
  20. ^ Pool, Martin (23 March 2005). "(test)". bazaar (Mailing list). Archived from the original on 3 March 2016. Retrieved 23 May 2008.
  21. ^ Bentley, Aaron (23 March 2005). "Re: State of the Arches". gnu-arch-users (Mailing list). Archived from the original on 3 March 2016. Retrieved 23 May 2008. For completeness, it's probably worth mentioning that bazaar-ng (www.bazaar-ng.org) is another rcs system sponsored by Canonical
  22. ^ Pool, Martin (26 March 2005). "bzr 0.0.1 released". bazaar (Mailing list). Archived from the original on 3 March 2016. Retrieved 12 June 2008.
  23. ^ "Canonical Releases Version 1.0 of Bazaar Version Control Tool for Efficient Developer Collaboration" (Press release). Canonical. 14 December 2007. Archived from the original on 12 May 2008. Retrieved 23 May 2008.
  24. ^ Pool, Martin (12 April 2012). "leaving Canonical". bazaar (Mailing list). Archived from the original on 4 March 2016. Retrieved 9 December 2012.
  25. ^ Corbet, Jonathan (11 September 2012). "Bazaar on the slow track". LWN.net. Archived from the original on 4 March 2016. Retrieved 14 November 2012.
  26. ^ Vernooij, Jelmer (19 December 2012). "Bazaar-NG: 7 years of hacking on a distributed version control system". Archived from the original on 5 November 2015. Retrieved 21 December 2012.
  27. ^ "On the subject of Git, Bazaar, and the future of Emacs development". emacs-devel. 26 March 2013. Archived from the original on 24 June 2016. Retrieved 30 March 2013.
  28. ^ "bzr is dying; Emacs needs to move". emacs-devel. 1 January 2014. Archived from the original on 4 January 2017. Retrieved 10 January 2014.
  29. ^ "Emacs git conversion is done". Archived from the original on 5 January 2017. Retrieved 28 November 2014.
  30. ^ "Bugzilla:Migrating to git - MozillaWiki". 19 March 2014. Archived from the original on 18 September 2016. Retrieved 20 April 2014.
  31. ^ Wilbur, Richard (15 February 2016). "2.7.0 released". Canonical. Archived from the original on 24 September 2016. Retrieved 17 February 2016.
  32. ^ "Plans for Bazaar". lists.ubuntu.com. Archived from the original on 1 May 2021. Retrieved 12 September 2020.
  33. ^ "WhyChooseSavannah". Savannah documentation. Archived from the original on 23 April 2021. Retrieved 31 May 2022.
  34. ^ "SourceForge Support / Documentation / Bazaar". Archived from the original on 16 March 2022. Retrieved 7 September 2017.
  35. ^ "Code : Ubuntu". Launchpad. 13 April 2022. Retrieved 29 August 2024.
[edit]