Bazaar

Bazaar(バザー、以前はBazaar-NG、コマンドラインツールとしてはbzr)は、カノニカルが支援しているクロスプラットフォームの分散型バージョン管理システムです。このシステムは、誰でも簡単に自由ソフトウェアやオープンソースソフトウェアのプロジェクトに貢献できるように設計されています。

開発チームは、使いやすさ、正確性、そして柔軟性に重点を置いて開発を進めてきました。上流のコードを容易にブランチ・マージできるように設計されており、いくつかの基本的なコマンドを覚えるだけで、すぐに生産的に作業を始めることができます。Bazaarは、ローカルファイルで複数のブランチを扱う単独の開発者から、ネットワークを介して共同作業を行うチームまで、幅広い状況に対応可能です。

しかし、2014年にエリック・レイモンドの提案によりGNU EmacsがBazaarからGitに移行したことをきっかけに、BugzillaMySQLなど、他の多くのプロジェクトでもGitなどへの移行が進んでいます。この結果、Bazaarの採用例は減少傾向にあります。

BazaarはPythonで記述されており、FreeBSD、主要なLinuxディストリビューション、macOS、Solaris、Windows向けのパッケージが提供されています。また、Bazaarは自由ソフトウェアであり、GNUプロジェクトの一部として位置づけられています。

特徴



Bazaarのコマンドは、CVSやSubversionなどの他のバージョン管理システムにあるコマンドとよく似ており、リモートリポジトリサーバーなしで新しいプロジェクトを開始し、管理することが容易です。

純粋な分散型バージョン管理システムとは異なり、Bazaarは中央サーバーの有無に関わらず動作をサポートしており、同じプロジェクトで両方の方法を同時に使用することも可能です。Launchpadは、Bazaarで管理されたプロジェクトのための無料ホスティングサービスを提供しています。

Bazaarは、Subversionなどの他のリビジョン管理システムとの連携をサポートしており、他のシステムからブランチを作成し、ローカルで変更を加えてBazaarブランチにコミットし、その後、変更を元のシステムにマージし戻すことができます。bzr-svnプラグインを使用することで、Subversionの基本的なサポートが提供されます。また、MercurialやGitとの連携も初期段階でサポートされており、現在の機能は完全ではありませんが、グラフィカルな履歴を表示できる程度には互換性があります。

Bazaarは、完全なUnicode文字セットからなるファイル名をサポートしており、コミットメッセージやコミッター名にもUnicodeを使用することができます。

バージョン1.xのリリースまで、BazaarはGitと比較して動作速度が遅いとされていましたが、以降、いくつかの操作においては、性能面で十分に匹敵するレベルにまで改善されました。特にネットワークのレイテンシがボトルネックとなる状況では、他のリビジョン管理システムと同等の性能を発揮します。

プラグイン



以下のような便利なプラグインが提供されています。

BzrTools - ユーティリティコレクション
bzr-svn - Subversion形式のサポート
bzr-git - Git形式のサポート
bzr-rebase
QBzr
bzr-keywords

Windows版のインストーラには、標準でBzrTools、bzr-svn、QBzr、TortoiseBZRが含まれています。

ユーザー



過去には、GNU Mailman、MySQL、GNOMEのJavaバインディングなど、多くの有名なプロジェクトでBazaarが使用されていました。

歴史



Bazaarの歴史は、以下の2つの段階に分けられます。

Baz: Canonical Ltd.が初期に使用していたバージョン管理システム
Bazaar: Bazの後継として開発された現在のシステム

"Bazaar"という名前は、元々GNU archのクライアントであるtlaの派生版で使用されていました。この派生版は、現在のBazaarと区別するためにBazと呼ばれています。BazはCanonical Ltd.の従業員であるRobert Collinsによって2004年10月に発表され、2005年までメンテナンスされていました。その後、Bazaar-NG(現在のBazaar)がBazの後継として発表されました。Bazは現在メンテナンスされておらず、Canonicalはこれを非推奨としています。Bazの最後のリリースは2005年10月にリリースされたバージョン1.4.3でした。計画されていたBaz 1.5のリリースは2006年に放棄されました。

2005年2月、開発者のMartin PoolはCanonicalに雇われ、「オープンソースハッカーが利用を好む分散型バージョン管理システムの構築」を担当することになりました。Poolは以前から、様々なバージョン管理システムについて説明やレビューをブログなどで発信していました。公開ウェブサイトとメーリングリストは2005年3月に作成され、同年3月26日には、最初のプレリリースである0.0.1がリリースされました。

Bazaarは、新しい実装と全く異なるコードベースと設計で作られており、GNU archやBazとは多少異なるコマンドセットを持っています。開発当時、他のオープンソースのリビジョン管理システムの良いアイデアを取り入れ、分散型で構築されました。Bazaarは当初、機能のテストベッドとして後でBazに統合する予定でしたが、2005年中頃には、Bazの主要な開発者の多くがBazaarでの作業に重点を移し、Bazは放棄されることになりました。

Bazaarのバージョン1.0は2007年12月にリリースされました。2008年2月には、GNUプロジェクトの一部となりました。

停滞



2014年には、Bazaarを採用していたBugzillaがGitに移行するなど、Bazaarは停滞傾向にあります。Bugzillaが移行した理由として、「Gitがデファクトスタンダードになりつつある一方で、Bazaarは月に2、3のコミットがあるだけで、ほぼ死んだ状態にある」と述べられています。

参照



公式ウェブサイト (英語)
freenode上の#Bzr接続

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。