Android Studio最速入門~効率的にコーディングするための使い方

第29回 バージョン管理 ─Subversion連携の使い方[前編]

この記事を読むのに必要な時間:およそ 4.5 分

はじめに

Git連携のときと同じく,今回から機能の解説編です。思いのほか分量が増したので,こちらも前後編の2回に分けて説明します。

Subversion連携時のユーザインターフェイスの特徴

Android StudioでSubversion連携を設定したときに変化するユーザインターフェイスのうち特徴的な部分について説明します。

Changesツールウィンドウ

「Local」タブはどのバージョン管理システムと連携しても違いはありません。Subversion連携時は「Repository」タブ,「Incoming」タブ,「Subversion Working Copies Information」タブが追加されます。

図1 Subversion連携時の「Changesツールウィンドウ」の外観

図1 Subversion連携時の「Changesツールウィンドウ」の外観

「Repository」タブ
タブ名の通りリポジトリのコミットログを表示します。図2からもわかるとおりツールバーが豊富でさまざまな操作ができます。具体的な内容については,この次の章で説明します。

図2 ⁠Changesツールウィンドウ / Repositoryタブ」

図2 「Changesツールウィンドウ / Repositoryタブ」

「Incoming」タブ
「Repository」タブと同じく,リポジトリのコミットログを表示していますが,ここに表示される内容は「まだワーキングコピーに取り込んでないコミットログ」に限ります。こちらも具体的な内容について改めて説明します。
「Subversion Working Copies Information」タブ
ワーキングコピーの情報を表示します。ここで,今のワーキングコピーがどのリポジトリから取得したものか確認することができます。主にsvn switchでワーキングコピーを切り替えた場合の確認に使います。

図3 ⁠Changesツールウィンドウ / Subversion Working Copies Informationタブ」

図3 「Changesツールウィンドウ / Subversion Working Copies Informationタブ」

ワーキングコピーの情報だけでなく,マージ作業もここから行うことができますが,その話は次回紹介します。

ステータスバー

一見すると何も変わってないように見えますが,ステータスバーの右端にコミットログの通知(Incoming)を行うアイコンが追加されます。

図4 ステータスバーの通知アイコン

図4 ステータスバーの通知アイコン

SVN Repositoriesツールウィンドウ

普段は隠れていますが,メニューバーの「VCS → Browse VCS Reposotory → Browse Subversion Repository...」を実行すると登場します。

図5 ⁠SVN Repositoriesツールウィンドウ」

図5 「SVN Repositoriesツールウィンドウ」

このツールウィンドウは,サーバ上のリポジトリを直接操作するときに使います。具体的な使い方については,次回説明する予定です。

Version Controlツールウィンドウ

Gitの時のような,実行したsvnコマンドをログする「Consoleタブ」は表示されません。主にワーキングコピーを更新したりマージしたときの詳細がレポートされます。

図6 ⁠Version Controlツールウィンドウ」

図6 「Version Controlツールウィンドウ」

コミットログを確認する

コミットログの確認は「Changesツールウィンドウ / Repositoryタブ」で行います。メニューバーの「VCS → Update Project...」を実行するとワーキングコピーの更新を行ってしまいます。ワーキングコピーはそのままでリポジトリのコミットログだけ確認したい場合は「Changesツールウィンドウ / Repositoryタブ」「Refresh)⁠アイコンをクリックします。

「Repositoryタブ」はコミットログを表示する「Changelistsペイン」と,コミットごとの対象ファイルを表示する「Changed filesペイン」の2つで構成されており,それぞれに専用のツールバーを持ちます。Android Studioの横幅が狭いとツールバーが隠れてしまうため,図7図8にツールバーがすべて表示されている状態を載せておきます。

図7 ⁠Changelistsペイン」とそのツールバー

図7 「Changelistsペイン」とそのツールバー

図8 ⁠Changed filesペイン」とそのツールバー

図8 「Changed filesペイン」とそのツールバー

Changelistsペインについて

「Changelistsペイン」に表示されるコミットログはツリー構造で表示してあり,コミットログ,オーナー,日付の表示位置や表示幅を切り替える事はできません。コミットログが長文になると「more...」というリンクが付き,これをクリックすることで,そのコミットログの詳細がポップアップ表示されます。ツールバーの「Show Details)⁠を押したときも同様です。

図9 ⁠Changelistsペイン」の詳細表示

図9 「Changelistsペイン」の詳細表示

ツールバーの左側にある6つのアイコンは,コミットログ上のコンテキストメニューからも実行することができます。そのうち特筆すべき内容は次の4つです。

RefreshとClear
Refreshでコミットログの更新を行い,Clearでコミットログの表示をクリアします。これらの操作は「Changelistsペイン」のコミットログ全体に及ぼします(それ以外は,特定のコミットログを選択しないと実行できません)⁠
個人的にはClearのアイコンが大変紛らわしくて好ましくありません。⁠そもそもクリアする用途がそんなにあるのかな?」と思いますが,svn switchでワーキングコピーを切り替えたときなどに意外と使いました……。
Revert
指定したコミットログを打ち消す変更をワーキングコピーに対して行います。いわゆるリバースパッチです。おそらくAndroid Studio独自の機能なのでしょう。運が良いと古いコミットまで打ち消すことができますが,パッチベースなのでファイルの移動やリネームなどに弱いです。
「Localタブ」の"Revert"とは機能が異なるので気をつけて下さい。ちなみに筆者は,この機能の存在を知っていましたが必要になったことは一度もありません。
Edit Revision Comment
選択したコミットログを編集します。実行すると図10のような編集ダイアログが表示されます。

図10 ⁠Edit Revision ## Comment」ダイアログ

図10 「Edit Revision ## Comment」ダイアログ

「Changelistsペイン」のツールバーのアイコンの右隣にある「Filter by」「Group by」はそれぞれコミットログのフィルタリングとグループ化を行います。それぞれの選択候補ですが,「Filter by」「Structure」「User」,「Group by」「Date」「User」です。

そう滅多に使う機能ではありませんが,「Structureによるフィルタリングは特定のディレクトリ(やファイル)の変更を探るときに役に立ちます。

図11 ⁠Filter by」⁠Group by」によるコミットログの表示変更(クリックすると動きがわかります)

「⁠Filter by」⁠Group by」によるコミットログの表示変更` &title=`図11 ⁠Filter by」⁠Group by」によるコミットログの表示変更グ` &width=`400` />

Merge Infoペイン

実は「Repositoryタブ」にはもうひとつ「Merge Infoペイン」という画面が隠れています。これはマージ作業をするまで無用なものなので,次回にまとめて紹介します。

図12 ⁠Merge Infoペイン」

図12 「Merge Infoペイン」

Changed filesペインについて

コミットログごとの対象ファイルが表示されます。それほど特徴的な機能は少ないのですが,唯一の機能として「Compare Subversion Properties)⁠でSubversionのプロパティの変更差分を確認することができます。

図13 ⁠Subversion properties difference」ダイアログ

図13 「Subversion properties difference」ダイアログ

著者プロフィール

今井勝信(いまいまさのぶ)

システムエンジニア。日本ユニシス株式会社所属。仙台在住。

Android開発はまったくやったことがないけれどIntelliJ IDEAが大好き。

Twitter: @masanobuimai

コメント

コメントの記入