GNU Bazaar(以前称为Bazaar-NG,命令行中称为bzr)是由Canonical赞助开发的分布式和主从式版本控制系统。并用来进行Ubuntu项目的版本控制。
Bazaar 可以由一个开发本地内容的多个分支的开发人员使用,也可以由跨网络协作的团队使用。
Bazaar 是用Python编写的,有适用于主要Linux发行版、 Mac OS X和Microsoft Windows的软件包。 Bazaar 是自由软件,是GNU 项目的一部分。
特征
Bazaar 命令类似于CVS或Subversion中的命令。通过在人们希望版本化的目录中调用bzr init ,可以在没有远程存储库服务器的情况下启动和维护新项目。
与不使用中央服务器的纯分布式版本控制系统相比,Bazaar 支持使用或不使用中央服务器,即可以连接伺服器上载版本,也可以只作为本机版本控制使用。可以在同一个项目中同时使用这两种方法。Launchpad和SourceForge网站为 Bazaar 管理的项目提供免费托管服务。
Bazaar 支持与部分版本控制系统一起工作。这允许用户从另一个系统(例如Subversion)分支,进行本地更改并将它们提交到 Bazaar 分支,然后再将它们合并回另一个系统。Git和Mercurial也提供只读访问权限。Bazaar 还允许与许多其他系统(包括CVS、Darcs、Git、Perforce、Mercurial )进行互操作,允许导入和导出历史。
Bazaar 支持名称来自完整Unicode集的文件。它还允许提交消息、提交者名称等使用 Unicode。
历史
Bazaar 1.0 版于 2007 年 12 月发布。2008 年 2 月,Bazaar 成为 GNU 项目。2012年4月,Martin Pool 离开了 Canonical,项目的开发步伐放缓。根据 Jelmer Vernooij 的说法,Canonical 的 Bazaar 团队的成员在 2012 年初被分配到不同的任务,他本人在7年来为该项目做出贡献后,于2012年底停止了对 Bazaar 的贡献。2013年3月,关于 Bazaar 是否仍然有效维护以及 Emacs 是否应该转移到另一个版本控制系统的讨论在GNU Emacs邮件列表开始。2014 年 1 月, Eric Raymond提议并协调将GNU Emacs从 Bazaar 过渡到git版本控制系统,这一过渡于 2014 年 11 月完成。同样,Bugzilla项目在2014 3月从 Bazaar 改为使用 git,其中一个原因是 Bazaar 几乎已被放弃的印象:"每个月可能有 2-3 次向主干提交。一般来说,修复 Bazaar 中的错误的时间似乎也很长。
2.7.0 版本于 2016 年 2 月发布。
Breezy
Bazaar 在 2017 年被分叉为Breezy ,以允许进行向后不兼容的更改,例如从 Python 2 迁移到 Python 3 并放弃对旧版本 Windows 的支持。
参考:
https://zh.wikipedia.org/zh-hans/GNU_Bazaar
https://web.archive.org/web/20230506175749/http://bazaar.canonical.com/en/