TortoiseBazaarを軽快に使うためのちょっとしたTips

TortoiseBazaarに限らず、Tortoiseファミリーのソフトを使うと、どうしてもシステムのパフォーマンスに影響が出てしまうんですが、そういう影響を最小限にするためのちょっとしたTipsです。
※あくまで現状の実装ベースの話なので、今後状況は変わるかも。

作業コピーを一箇所にまとめる

TortoiseBazaarは、アイコンオーバーレイの対象となる作業コピー内のファイルの変更を監視しているのですが、システム内に複数の作業コピーがあると、それらの共通の親ディレクトリを監視対象にするようになっています。

例えば、以下のようなフォルダ構成になっていると、"C:\DEVELOP"が監視対象になり、Bazaarとは関係のないtortoisehgやtortoisesvn配下のファイルの更新も拾ってしまいます。

C:\DEVELOP\tortoisebzr\trunk Bazaarの作業コピー
C:\DEVELOP\tortoisebzr\refactoring Bazaarの作業コピー
C:\DEVELOP\loggerhead\code\trunk Bazaarの作業コピー
C:\DEVELOP\tortoisehg Mercurialリポジトリ
C:\DEVELOP\tortoisesvn SVNの作業コピー
C:\DEVELOP\Documents その他

これを、こんな感じ(↓)でBazaarの作業コピーをまとめてやれば、"C:\DEVELOP\BZR"だけが監視対象になるので、効率よく処理ができます。

C:\DEVELOP\BZR\tortoisebzr\trunk Bazaarの作業コピー
C:\DEVELOP\BZR\tortoisebzr\refactoring Bazaarの作業コピー
C:\DEVELOP\BZR\loggerhead\code\trunk Bazaarの作業コピー
C:\DEVELOP\HG\tortoisehg Mercurialリポジトリ
C:\DEVELOP\SVN\tortoisesvn SVNの作業コピー
C:\DEVELOP\Documents その他

ちなみに、共通の親がドライブルートになっちゃう場合は、さすがにドライブ丸ごと監視ってのはしないようになってます。

無視ファイルの設定

例えば、「objフォルダ内に作成される*.objは全部無視したい」とか、良くある話ですよね。こういう場合、素直に書くと

$ bzr ignore ./**/obj/*.obj
とかってなる訳ですが、可能であればobjフォルダ自体を無視しちゃった方が、TortoiseBazaar的には楽になります。
$ bzr ignore obj
上のパターンだと、objフォルダ内のファイルが削除されたり追加されたりした場合に、個々に無視していいかどうかのチェックをしないとならないので割と忙しいんですね。

オプション設定

アイコンオーバーレイ関係で、

  • 無視されたファイルにオーバーレイアイコンを表示する
  • 管理されていないファイルを含むフォルダを「変更」として扱う

という2つのオプションがあります。これを両方OFFにすると、ステータスのチェックが少しだけ早くなります。
大量の管理外ファイルや無視ファイルがある場合だと結構大きいかもしれません。