Bazaarが分かりやすいという3つの理由
分散バージョン管理システムでは、ブランチとマージを多用するため、使いこなす場合はSubversionに比べ、正直分かりにくいと筆者は感じています。Bazaarでは、導入を容易にするため、分かりやすさを追究しています。
【1】優れたGUI
Bazaarは標準でGUIの「Bazaar Explorer」を提供しています。Bazaar ExplorerはWindows/Linux/MacOSで動作します。
他の分散バージョン管理ツールでもGUIは提供されていますが、OSごとに最適なツールが異なったり、どれを使えばいいのか迷ってしまいます。Bazaarでは、Bazaar Explorerを使っておけばOKです。
ちなみにWindowsでは、「TortoiseSVN」のように使える「TortoiseBzr」も提供されています。
【2】分かりやすいリビジョン
図4を見てください。
この図は、Bazaar Explorerで表示したリビジョンですが、ブランチは分りやすい数字が振られています。
また、ブランチには、分岐元のリビジョンのサブナンバーが振られており、どこから分岐したのか一目で分かるようになっています。さらに、ブランチは閉じることも開くこともできるので、余分なブランチを閉じて見やすくできます。
「分散バージョン管理システムの要はブランチとマージ」といっても過言ではありませんが、Bazaarは直感的に確認できます。
GitやMercurialでは異なるブランチのリビジョンの衝突を避けるためにハッシュ値で管理できますが、BazaarはオブジェクトIDで一意のリビジョンIDを確認できます。
【3】文字化けに悩まなくていい
Bazaarは最初から国際化対応しているので、メッセージやファイル名に日本語を問題なく使えます。GitやMercurialのように文字化けしないようにする設定に悩む必要はありません。
Bazaarをインストールして使ってみよう
Bazaarをインストールして使ってみましょう。本稿では、クライアントにWindowsを、サーバにLinux(Ubuntu)を利用する例で解説します。クライアントにはBazaar ExplorerとTortoizeBzrを利用します。
BazaarのサイトからWindows版のBazaarをインストールします。すでにPythonがインストール済みの環境用のバイナリとインストールすれば動くStandaloneの2つのバージョンが提供されていますが、「Standalone」を選択してダウンロード、インストールします。
Standalone版には、bzrコマンドで利用できるコマンドラインのツール、GUIでBazaarを操作できるBazaar Explorer、Windowsのシェルに統合して利用できるTortoiseBzrが含まれます。
インストール時にインストールするコンポーネントを聞いてきますが、デフォルトに加え「Windows Shell Extensionts(TortoiseBzr)」「Core Documentation - Japanese」を選択しておきます。
今回の記事で紹介するシナリオは次の通りです。
- Windows上でBazaarのリポジトリを作成
- 作成したリポジトリをLinuxサーバ上で中央リポジトリとして公開
- Windowsで中央リポジトリからブランチを取得
- Windows上でソースコードを変更し、サーバへ変更を反映
- ブランチの作成とtrunkへのマージ
Bazaar Explorerでリポジトリを作成するには
Bazaar Explorerを起動し、[新しいプロジェクトを作成する]→[初期化]と選択し、リポジトリを作成するディレクトリ名を入力します。作業スペースモデルは、初期状態でtrunkを作成する[Feature branches]を選び、[OK]をクリックすればリポジトリの作成は完了です(図6)。
次ページでは引き続き、Bazaarの基本的な使い方として、WebサーバでBazaarのリポジトリを公開する方法や、ブランチの取得やプッシュ、プル、マージ、コミットの仕方を解説します。
コラム 「共有リポジトリとブランチ」
Bazaarは「共有リポジトリ」「ブランチ」という2つの概念でバージョンを管理します。ブランチは、Subversionのブランチと同じで、trunkは「trunk」と名付けられたブランチに過ぎません。ブランチ間で共通する情報は、共有リポジトリで管理されます。
例えば、testという名前で、feature branchを作成すると、次のような共有リポジトリとブランチを構成します。
test/ 共有リポジトリ +.bzr/ +trunk/ デフォルトのブランチ(trunk) | +.bzr/ | 【trunkで管理されるファイル群】 | +branch-1/ ブランチ | +.bzr/ | 【branch-1で管理されるファイル群】 | ……
共有リポジトリは上記以外にもさまざまなレイアウトをサポートしてます。詳細は、Bazaarユーザーガイドの共有リポジトリのレイアウトをご覧ください。
Copyright © ITmedia, Inc. All Rights Reserved.