連載
オープンソースで始めるバージョン管理&タスク管理

第1回 Subversionを利用したイケてる.NET開発

株式会社アークウェイ 黒石 高広
2008/06/24
Page1 Page2 Page3 Page4

4. Visual Studio用クライアント「AnkhSVN」

 AnkhSVNは、Visual StudioをSubversionクライアントとして利用するための、オープンソース・ソフトウェアである。AnkhSVNはVisual Studioのアドインとして動作し、Subversionに対する操作をVisual Studio上のメニュー操作から実行できるようになる。

 AnkhSVNはMSI形式のインストーラを実行し、簡単にインストールすることができる。AnkhSVNの最新版は下記URLから入手可能だ。

 このサイトの左側のメニューの[Downloads]からダウンロードできる。

【コラム】Visual Studio Express Editionについて
AnkhSVNは、Visual StudioのExpress Editionにはインストールできない点に注意してほしい。これは、追加のプラグインをインストールできないExpress Editionの製品上の制約に起因している。

また、Visual Studio 2008の場合は、AnkhSVN 1.0.3(現在プレリリース版のみ)以降のバージョンからの対応になるので注意してほしい。

 では、AnkhSVNを利用してSubversionコマンドと同じ操作を実行してみよう。

AnkhSVNアドインの利用方法(インポート)

 フォルダをリポジトリへインポートするには、まずVisual StudioのIDEでプロジェクトを開いた状態で、メニュー・バーから[ファイル]−[Add Solution to Subversion Repository]を選択する。これにより、次の[Add Solution to repository]ダイアログが表示されるので、[Location]の[URL]欄にリポジトリのURL(前述の「【コラム】リポジトリのURLについて」を参照)を入力し、[Add]ボタンをクリックする(このときメッセージは記入できない)。

AnkhSVNを利用したリポジトリへのインポート

 なお当然ながら、インポートを実行する前にリポジトリをあらかじめ作成しておく必要がある。リポジトリの作成方法にいては、前述のTortoiseSVNを使った例を参考にしてほしい。まとまりのあるプロジェクトごとに1つのリポジトリを作成することをお勧めする。

 インポートが実行されると、[Commit]ダイアログが表示されるので、そのまま[Commit]ボタンをクリックして、全ソース・ファイルをコミットする。これにより、インポートを実行した開発者のVisual Studioプロジェクトはすべてのファイルがコミットした状態となる。そのほかの開発者はそれぞれチェックアウトする必要がある。

AnkhSVNアドインの利用方法(チェックアウト)

 それでは実際にチェックアウトしてみよう。

 これには、まずVisual StudioのIDEですべてのプロジェクト(やソリューション)が閉じられた状態で(=何も開かれていない状態で)、メニュー・バーから[ツール]−[AnkhSVN]−[Checkout a Repository]を選択する。これにより、次の[Checkout]ダイアログが表示されるので、[URL]欄にリポジトリのURLを、[Local Directory]欄に任意のフォルダへのパスを指定し、[Checkout]ボタンをクリックする。

AnkhSVNを利用したソース・ファイル群のチェックアウト
最新のものをチェックアウトする場合は[Revision]欄は「Head」のままでよい。[Local Directory]欄にはチャックアウト先のパスを指定する。

 以上でチェックアウトは完了だ。あとは[Local Directory]欄に指定したパスにリポジトリ内の全ソース・ファイル群がコピーされているので、その中にあるソリューション・ファイル(.slnファイル。もしくはプロジェクト・ファイル:.csproj/.vbprojファイル)をVisual Studioで開けば、そのプロジェクトがVisual Studioのソース管理機能を活用した形で開かれる。

AnkhSVNアドインの利用方法(コミット)

 では次に、チェックアウトしたソース・ファイル群を編集し、その変更内容をリポジトリへコミットしてみよう。

 次の画面のように、編集したソース・ファイル群はVisual Studioの[ソリューション エクスプローラ]上で赤いアイコンが表示されていることに注目してほしい。

[ソリューション エクスプローラ]上での編集ファイルの確認
編集されていないファイルは緑色のアイコン、編集済みのファイルは赤色のアイコンで表示される。

 では最後にコミット操作を実行し、編集内容をリポジトリへ反映させてみよう。

 コミットするには、[ソリューション エクスプローラ]上で該当ファイルを右クリックして、表示されるコンテキスト・メニューから[Commit]を選択すればよい。すると、次の[Commit]ダイアログが表示されるので、左側のツリーに表示されたファイル群で間違いがないかを確認し、[Commit]ボタンをクリックする。これだけだ。

AnkhSVNを利用したソース・ファイル群のコミット

 このようにAnkhSVNを利用し、Visual Studioから直接Subversionを操作することもできる。Visual Studioで編集したファイルをいちいちWindowsエクスプローラ上からTortoiseSVNを利用してコミットするといった面倒な操作は不要である。

【コラム】有償だが高性能なVisual Studio用Subversionクライアント
AnkhSVNはSubversionを利用した.NET開発において非常に有用なツールであるが、プロジェクト数が増えると重くて使いづらいなどの悪評も少なくないツールではある。今回はオープンソース・ソフトウェアを前提とした記事であるため詳しくは説明しないが、筆者が利用している有償のVisual Studioアドインの製品を紹介しておこう。

このVisualSVNは、有償ではあるが$49というお手ごろな価格の製品であるし、1カ月の試用版も提供されているので、AnkhSVNを使ってみて不満があるという方は試してみてはいかがだろう。

5. 最後に

 本稿ではオープンソース・ソフトウェアのバージョン管理ソフトウェアであるSubversionと周辺ツールであるTortoiseSVNとAnkhSVNについて簡単に解説した。

 Subversionは優れたバージョン管理のソフトウェアだが、それをインストールするだけですべての問題が解決されるわけではない点にも御注意いただきたい。これは、どのバージョン管理ソフトウェアでもいえることだが、Subversionはあくまで道具であるので、それを適切な考え方、適切な運用ルールで使用することが必要となる。そこで、次回の記事の中でバージョン管理ソフトウェアをどのような考え方で利用、運用していくかについて解説していく。

 新人研修の中でプログラミングについて教える企業は多いが、残念ながらバージョン管理についてはおざなりにされているのが日本のソフトウェア業界の現状である。前述のようなシチュエーションに陥らないためにも、ソフトウェア開発者のプロフェッショナルとして必ず利用すべきツールの1つとしてバージョン管理ソフトウェアを使いこなしてほしい。End of Article


 INDEX
  [連載]オープンソースで始めるバージョン管理&タスク管理
  第1回 Subversionを利用したイケてる.NET開発
    1.はじめに(バージョン管理ソフトウェアが必要な理由)
    2.バージョン管理ソフトウェア「Subversion」
    3.Windowsエクスプローラ用クライアント「TortoiseSVN」
  4.Visual Studio用クライアント「AnkhSVN」

インデックス・ページヘ  「オープンソースで始めるバージョン管理&タスク管理」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間