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

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

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

ファイルの移動やリネーム

Subversion連携時はGit連携時と異なり「Version Controlツールウィンドウ」に実行したsvnコマンドは出力されません。よってAndroid Studioの内部でどのようなsvn操作が行われているかは想像に任せるほかにありません。

実際に「Projectツールウィンドウ」上でファイルの移動やリネーム(どちらも "Move...","Rename..."リファクタリングに相当します)を行ったときの結果を図28に示します。

図28 ファイルの移動やリネームを行ったときの変更履歴

図28 ファイルの移動やリネームを行ったときの変更履歴

どちらもSubversionにも「移動した(Moved⁠⁠リネームした(renamed⁠⁠」と認識されています。このようにファイルの移動も追跡できているからツリーコンフリクトが起きるとも言えるのでしょう。

変更をコミットする

前回紹介したとおり"Commit Changes"を実行するとコミット用の「Commit Changes」ダイアログが表示されます。

図29 ⁠Commit Changes」ダイアログ

図29 「Commit Changes」ダイアログ

Subversion固有の機能に特筆すべき点は特にありません。画面右端に2つのチェックボックスがありますが,それほど気にする内容ではありません。

Auto-update after commit
コミット完了後にsvn updateを実行する。
Keep files locked
ロックしたファイルを,そのままロック中にする。

ファイルのロックについて

先ほどの「Commit Changes」ダイアログにあった「Keep files locked(ロックしたファイルを,そのままロック中にする⁠⁠」オプションですが,ロックそのものの取得は対象ファイルを選び,メニューバーの「VCS → Subversion → Lock...」で行います。

メニューバーにしろ「Projectツールウィンドウ」のコンテキストメニューにしろ,階層が深いところにあって選択しづらいので,ファイルを選択した後は「Find Action」から"Lock..."を実行するやり方をオススメします。

図30 ⁠Lock File」ダイアログ

図30 「Lock File」ダイアログ

※残念ながら検証に使ったGoogle Codeのリポジトリはロックに対応していませんでした(実行すると"Error:svn: E160000: Not Implemented"となります⁠⁠。

ロックの解除は,"Lock..."コマンドの下にある"Unlock"で行います。

次回の予定

Subversionでは鬼門扱いされているブランチ&マージについて説明します。

著者プロフィール

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

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

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

Twitter: @masanobuimai