連載
» 2011年02月16日 00時00分 公開

Bazaarでござ〜る。猿でもできる分散バージョン管理“超”入門ユカイ、ツーカイ、カイハツ環境!(20)(4/4 ページ)

[岡本隆史,@IT]
前のページへ 1|2|3|4       

Bazaar Explorerでブランチの作成とマージ

ブランチの作成

 ブランチの作成は、共有リポジトリで作業を行います。[ようこそ]タブをクリックしてBazaar Explorerのトップページを表示し、[既存の場所を開く]→[開く]と選択します。先ほどチェックアウトしたtrunkの親ディレクトリ(ここでは、local-repository)を開きます。

図11 共有リポジトリを開く 図11 共有リポジトリを開く

 共有リポジトリを開くと、その共有リポジトリで管理されるブランチの一覧が表示されます。この画面で、ブランチを選択して、「ブランチ」をクリックするとブランチ元の名前と先の名前を聞いてくるので、ブランチ先(ここでは、共有リポジトリのルート「\test-branch」)を入力すると、ブランチを作成できます。

図12 ブランチの作成 図12 ブランチの作成

 ブランチを作成すると、作成したブランチがBazaar Explorerに表示されます。先ほどの共有リポジトリを表示して、[再読込]をクリックすると作成されたブランチを確認できます。また、Windowsのフォルダを開くとブランチのフォルダが作成されているのが確認できます。

 ここで作成したブランチ上でPushを実行すると、中央リポジトリ上にもブランチが作成されます。作業用のブランチを作成しても、trunkにマージしてからtrunkをPushすると、ブランチは作成されません。

 ちょっとした作業をブランチで行っていてサーバ上にブランチを作りたくない場合がありますが、そのときは、マージした後、マージされたブランチをPushすれば作業用ブランチのサーバ上にも作らなくて済みます。

ブランチのマージ

 次に、ブランチのマージを説明しますが、その前に先ほど作成したブランチ(test-branch)のファイルをいくつか変更し、コミットしておいてください(変更がないブランチをマージしても面白くありませんので……)。

 マージを行うには、Bazaar Explorerでマージ先のブランチ(ここではtrunk)を開きます。マージ先を開いた状態で、[マージ]ボタンをクリックし、マージ元となるブランチを選択します。test-branchブランチを変更している間にtrunkブランチに変更があった場合、“競合”が発生しますが、Subversionと同じ要領で競合を解決してください。競合の解決が完了したら、コミットを行うと、図13のようなコミット画面が表示され、どのブランチのマージをコミットするかマージした内容を確認できます。

図13 マージのコミットの確認 図13 マージのコミットの確認

 コミットした後は、[履歴]ボタンからコミットとマージの履歴を確認できます(図14)。

図14 履歴 図14 履歴

コラム 「Bazaar ExplorerとTortoiseBzrの使い分け」

Bazaar ExplorerとTortoiseBzr、どのようなときにどちらを使ったらいいのでしょうか。

基本的には、リポジトリの作成やブランチの作成、マージなど、リポジトリ、ブランチに関する操作はBazaar Explorerを、ファイルの編集後のコミットや、プッシュ、プルなどファイルの変更に関する操作はWindowsのシェルに統合されているTortoizeBzrが使いやすいです。


Bazaarは猿から進化した完ぺき超人なのか?

 ざっと使い方を紹介しましたが、Bazaarが非常に洗練されている分散バージョン管理システムであることを理解できたと思います。分散バージョン管理システムは取っ付きにくい雰囲気があり、「自分は何とか理解したけど、果たして同僚が使いこなせるだろうか」と導入を躊躇してしまいがちですが、「Bazaarなら使っても大丈夫かな」と思わせる何かがあります。

 しかし、完ぺきに思えるBazaarですが、いくつか課題もあります。

【1】導入事例が少なく日本語の情報がGit/Mercurialより少ない

 巨大なUbuntuの開発やMySQLの開発で利用されており、実績は十分にあり安定して利用できますが、Git/Merrcurialに比べると導入事例が少なく、日本語の情報がGit/Mercurialより圧倒的に少ないです。

 しかしながら、主要なドキュメントは日本のコミュニティメンバによりすでに翻訳されており、またユーザーがこれから増えると共に徐々に解決することが期待できます。

【2】EclipseプラグインのEclipse Bazaarが動かない

 Eclipse Bazaarはxmloutputプラグインを利用してXMLでbzrコマンドと連携して動作するようになっています。Eclipse Bazaarが要求するxmloutputプラグインのバージョンが古く、xmloutputプラグインの最新版をインストールしないと動作しません。

 また、Pleiadesなどで動的に日本語化するように設定していると正しく動作しません。しかし、xmloutputプラグインを最新化したり、Pleiadesの日本語化のプラグインを外すと動作するので、近い将来の解決が期待されます。

【3】Webでのリポジトリ公開機能が弱い

 GitやMercurialはリポジトリをWebで簡単に公開するためのCGIが提供されていますが、BazaarのスマートサーバはWebブラウザで閲覧できず、何とか設定して見られるようになっても履歴やログが見れず、いまひとつです。

 これに対し「Loggerhead」と呼ばれる新しいWebインターフェイスが開発されています。LoggerheadはJavaScriptを利用しており、洗練されたユーザーインターフェイスでリポジトリの操作可能ですが、残念ながら作成したブランチをクライアントマシンからプッシュできません(すでに、存在するブランチへのプッシュは可能です)。


 これも、おおよその機能は提供されているので、解決されるのも時間の問題だと思われます。

Bazaarなら「分かりやすさ」は一歩リード

 上記のような問題もありますが、「分かりやすさ」という点では、他の分散バージョン管理システムより一歩秀でており、魅力的なツールであることは確かです。Git/Mercurialは、すでにユーザーが大勢居て、使っていても別段珍しくありませんが、Bazaarなら誰も使っていないという優越感にも浸れます。

 これから分散バージョン管理システムの導入を検討している方、Bazaarを使ってみませんか?

 なお、本稿を執筆するに当たり、Bazaarのドキュメントの日本語への翻訳を行っている岩田さんにコメントをいただきましたので、感謝の意を表したいと思います。


「ユカイ、ツーカイ、カイハツ環境!」バックナンバー
前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。