プラグインを利用する

プラグインとは?

プラグインは主にサードパーティによって作られたBazaarのための外部コンポーネントです。 プラグインは新しい機能を追加することでBazaarを補強する能力があります。 プラグインは現在の機能を置き換えることでBazaarのふるまいを変更することもできます。 プラグインのサンプルのアプリケーションは次のとおりです:

  • コマンドをオーバーライドする
  • 新しいコマンドを追加する
  • 追加のネットワーク転送機能を提供する
  • ログの出力をカスタマイズする

プラグインを通してできるカスタマイズの可能性は際限がありません。 実際、開発者が新しい機能を公式のコードベースに含める前にテストするための方法としてプラグインは機能します。 プラグインは機能の引退時でも同様に役立ちます。たとえば廃止されたファイルのフォーマットがある日Bazaarのコアから除外されるかもしれませんが代わりにプラグインとして利用できます。

プラグインはユーザーにとって、外部の開発者にとっても、Bazaar自身にもよいものです。

プラグインが見つかる場所

http://wiki.bazaar.canonical.com/BzrPlugins ページでプラグインのリストが見つかります。

プラグインをインストールする方法

プラグインのインストール作業はとても簡単です! まだ作られていなければ、 Bazaarの設定ディレクトリの元で plugins ディレクトリを作ります。 Linuxの場合は ~/.bazaar/ でWindowsの場合は C:\Documents and Settings\<username>\Application Data\Bazaar\2.0\ です。 このディレクトリの範囲内では(下記では$BZR_HOMEとして言及される) それぞれのプラグインは独自のサブディレクトリに設置されます。

プラグインはとりわけBazaarのブランチとよく連携します。 たとえば、Linuxのメインのユーザーアカウント用にbzrtoolsプラグインをインストールするためには、次のコマンドを実行します:

bzr branch http://panoramicfeedback.com/opensource/bzr/bzrtools
~/.bazaar/plugins/bzrtools

プラグインをインストールするディレクトリの名前はPythonの有効な識別子でなければなりません。 このことはディレクトリは特定の文字だけを含まなければならないことを意味します。とりわけハイフン (-) を含んではなりません。 bzr-gtk$BZR_HOME/plugins/bzr-gtk にインストールするよりも、 $BZR_HOME/plugins/gtk にインストールします。

プラグインの代替用の場所

必要なパーミッションがあれば、プラグインをシステム全体のベースにインストールすることもできます。 現在2つの場所がプラグインのためにチェックされます:

  1. システムの場所 - bzrlib/plugins
  2. 個人の場所 - $BZR_HOME/plugins.

Linuxにおいて、これらの典型的な場所は /usr/lib/python2.4/site-packages/bzrlib/plugins/$HOME/.bazaar/plugins/ です。 Windowsにおいて、システムの場所は C:\\Program Files\\Bazaar\\plugins になり、 個人の場所は C:\Documents and Settings\<username>\Application Data\Bazaar\2.0\plugins です。

環境変数 BZR_PLUGIN_PATH をプラグインが含まれるディレクトリに設定することで個人のプラグインの場所を上書きできます。

インストールされたプラグインの一覧を表示する

これを行うためには、次のようにpluginsコマンドを使います:

bzr plugins

それぞれのプラグインの名前、場所とバージョンが表示されます。

プラグインによって追加された新しいコマンドは bzr help commands を実行することで見ることができます。 プラグインによって提供されたコマンドはブラケットの中のプラグインの名前に従って表示されます。

人気のあるプラグイン

次の表は人気のあるプラグインのサンプルです。

カテゴリ 名前 説明
GUI QBzr QtベースのGUIツール
GUI bzr-gtk GTKベースのGUIツール
GUI bzr-eclipse Eclipseとの統合
General bzrtools その他。shelfを含めた機能の強化
General difftools 外部の差分ツールヘルパー
General extmerge 外部のマージツールヘルパー
Integration bzr-svn Subversionをリポジトリとして利用する
Migration cvsps CVSパッチセットを移行させる

あなた独自のプラグインを書きたい場合、難しいことではありません。 始めるためには付録の プラグインを書く の項目をご覧ください。