Bazaar Explorerでブランチの作成とマージ
ブランチの作成
ブランチの作成は、共有リポジトリで作業を行います。[ようこそ]タブをクリックしてBazaar Explorerのトップページを表示し、[既存の場所を開く]→[開く]と選択します。先ほどチェックアウトしたtrunkの親ディレクトリ(ここでは、local-repository)を開きます。
共有リポジトリを開くと、その共有リポジトリで管理されるブランチの一覧が表示されます。この画面で、ブランチを選択して、「ブランチ」をクリックするとブランチ元の名前と先の名前を聞いてくるので、ブランチ先(ここでは、共有リポジトリのルート「\test-branch」)を入力すると、ブランチを作成できます。
ブランチを作成すると、作成したブランチがBazaar Explorerに表示されます。先ほどの共有リポジトリを表示して、[再読込]をクリックすると作成されたブランチを確認できます。また、Windowsのフォルダを開くとブランチのフォルダが作成されているのが確認できます。
ここで作成したブランチ上でPushを実行すると、中央リポジトリ上にもブランチが作成されます。作業用のブランチを作成しても、trunkにマージしてからtrunkをPushすると、ブランチは作成されません。
ちょっとした作業をブランチで行っていてサーバ上にブランチを作りたくない場合がありますが、そのときは、マージした後、マージされたブランチをPushすれば作業用ブランチのサーバ上にも作らなくて済みます。
ブランチのマージ
次に、ブランチのマージを説明しますが、その前に先ほど作成したブランチ(test-branch)のファイルをいくつか変更し、コミットしておいてください(変更がないブランチをマージしても面白くありませんので……)。
マージを行うには、Bazaar Explorerでマージ先のブランチ(ここではtrunk)を開きます。マージ先を開いた状態で、[マージ]ボタンをクリックし、マージ元となるブランチを選択します。test-branchブランチを変更している間にtrunkブランチに変更があった場合、“競合”が発生しますが、Subversionと同じ要領で競合を解決してください。競合の解決が完了したら、コミットを行うと、図13のようなコミット画面が表示され、どのブランチのマージをコミットするかマージした内容を確認できます。
コミットした後は、[履歴]ボタンからコミットとマージの履歴を確認できます(図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のドキュメントの日本語への翻訳を行っている岩田さんにコメントをいただきましたので、感謝の意を表したいと思います。
- exe/dmgしか知らない人のためのインストール/パッケージ管理/ビルドの基礎知識
- これでGitも怖くない! GUIでのバージョン管理が無料でできるSourceTreeの7つの特徴とは
- DevOps時代の開発者のためのOSSクラウド運用管理ツール5選まとめ
- GitHubはリアルRPG? そして、ソーシャルコーディングへ
- ついにメジャーバージョンUP! Eclipse 4.2の新機能7選
- いまアツいアジャイルプロジェクト管理ツール9選+Pivotal Tracker入門
- Git管理の神ツール「Gitolite」なら、ここまでできる!
- Java開発者が知らないと損するPaaSクラウド8選
- Eclipse 3.7 Indigo公開、e4、Orion、そしてクラウドへ
- AWSの自由自在なPaaS「Elastic Beanstalk」とは
- Ant使いでもMavenのライブラリ管理ができるIvyとは
- 「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門
- Bazaarでござ〜る。猿でもできる分散バージョン管理“超”入門
- Review Boardならコードレビューを効率良くできる!
- Team Foundation ServerでJava開発は大丈夫か?
- コード探知機「Sonar」でプロジェクトの深海を探れ!
- 単体テストを“神速”化するQuick JUnitとMockito
- Java EE 6/Tomcat 7/Gitに対応したEclipse 3.6
- AzureのストレージをJavaで扱えるWindowsAzure4j
- 究極の問題解析ツール、逆コンパイラJD-Eclipseとは
- AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築
- DB設計の神ツール「ERMaster」なら、ここまでできる
- Webのバグを燃やしまくるFirebugと、そのアドオン7選
- Googlerも使っているIntelliJ IDEAのOSS版を試す
- JUnit/FindBugs/PMDなどを総観できるQALab/Limy
- ブラウザを選ばずWebテストを自動化するSelenium
- Eclipse 3.5 Galileoの「実に面白い」新機能とは
- App Engine/AptanaなどJavaクラウド4つを徹底比較
- Aptanaなら開発環境とクラウドの連携が超お手軽!
- 分散バージョン管理Git/Mercurial/Bazaar徹底比較
- SubversionとTracでファイル管理の“迷宮”から脱出
- Trac Lightningで始めるチケット式開発「電撃」入門
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Subversionならできる! NetBook最強バックアップ術
小山博史のJavaを楽しむ(13) - msysGitでWindowsからGitを使う
環境構築ステップ・バイ・ステップ - バージョン管理に便利なSubversiveプラグイン
CoolなEclipseプラグイン(15) - EclipseのCVS機能で排他的な開発を行う
Java TIPS - Eclipseのソース管理にVisual SourceSafeを活用
Java TIPS - gitベースのカーネル2.6.12に問題発生!?
連載:Linux Kernel Watch 7月版 - Subversionによるバージョン管理
Apache 2.0でWebDAV(後編) - オープンソースで始めるバージョン管理
- 第1回 XPな開発者の1日
快適なXPドライビングのすすめ - 第2回 CVSとEclipseで「コードの共同所有」
快適なXPドライビングのすすめ - 第3回 CVSのクライアントとしてEclipseを使おう
快適なXPドライビングのすすめ - 第7回 Eclipse、CVS、Antを利用した継続的インテグレーション&テスト環境の構築
快適なXPドライビングのすすめ - 第1回 ファイルバージョンの管理だけで十分ですか?
意外と知らない構成管理の正体 - 第2回 プロジェクトの構成要素を探す手順
意外と知らない構成管理の正体 - 第3回 変更管理、その正体と対策
意外と知らない構成管理の正体 - 最終回 構成管理とプロジェクトマネジメントの関係
意外と知らない構成管理の正体 - Subversionで簡単・確実にファイルを構成管理
エンジニアがお薦めする 現場で使えるツール10選(4)