Hatena::Diary

アジャイルプログラマの日常 このページをアンテナに追加 RSSフィード

2007-07-19

AnkhSVN の基本的な使い方

| このエントリーを含むブックマーク このエントリーのブックマークコメント

ここでは AnkhSVN の基本的な使い方として、新しいプロジェクトの管理を始めるところから、 Diff 、 Commit を行うところまでを解説します。画像が多いため、以下の内容は「続きを読む」でご覧下さい。*1


インストール

まず、 AnkhSVN をダウンロードします。ここでは、ステータスが「安定版」のもの (AnkhSetup-1.0.1.2736-Final.msi) を選択しました。ダウンロード完了後にインストールを行ってください。

なお、この段階で SVN 用のリポジトリがローカルやサーバにない場合は、 TortoiseSVN (推奨) や「svnadmin create」などを使ってリポジトリを作成しておいてください。リポジトリ作成方法の詳細は、リポジトリの作成を参照してください。 (TortoiseSVN のリポジトリ作成という Flash 動画がわかりやすいかもしれません。)

ソリューションを SVN で管理

Visual Studio のソリューションを SVN で管理するには、以下の手順を実行します。

  1. ソリューション エクスプローラから SVN で管理したいソリューションを選択し「右クリック」-「Ankh」-「Add solution to Subversion repository...」を実行
    AnkhSVN 右クリックメニュー
  2. ダイアログが表示されるので、 Location に SVN リポジトリのパスを入力し、 Subdirectory の「Create Subdirectory」にチェックを入れプロジェクト名を入力します*2。 Log message の入力は任意ですが、後で参照するときに役立ちそうな内容を入力できるときは、できるだけ入力するのをおすすめします。
    Add solution to Subversion repository ダイアログ
  3. 「OK」ボタンをクリックすると「Commit ダイアログ」が表示されます。ここでもログを入力できます。 SVN で管理するファイルを確認したら「Commit」ボタンをクリックします。*3
    Commit ダイアログ
  4. 以上の操作でプロジェクトが SVN によって管理されます。ソリューション エクスプローラを確認すると、ファイル名の左側に緑色のチェックマークが表示されています。
    コミット完了後のソリューション エクスプローラ

差分 (Diff) を確認

  1. SVN で管理されているファイルを変更すると、ファイル名の左側についていた緑色のチェックマークが赤色に変化します。
    ファイルを変更後のソリューション エクスプローラ
  2. ファイルの変更点を確認するには、ソリューション エクスプローラで確認したいファイルを選択し「右クリック」-「Diff...」を実行します。
    AnkhSVN 右クリックメニュー
  3. ダイアログが表示されるので、変更点を比較したいファイルにチェックを入れ「OK」をクリックします。
    Select items for diffing ダイアログ
  4. Diff の結果が表示されます。*4
    Diff 結果

変更したファイルのコミット

変更したファイルをコミットするには、ソリューション エクスプローラからファイルを選択 (ソリューションを選択しても可) し、「右クリック」-「Commit...」を実行します。コミットしたいファイルを選択、ログを入力し「Commit」をクリックします。

TortoiseSVN と AnkhSVN の併用

AnkhSVN は管理系の機能が少ないため、常用する SVN クライアントとしては力不足な点があります。そこで、 Visual Studio からは AnkhSVN を使い、その他エクスプローラからなどは TortoiseSVN を利用することをおすすめします。

*1:減色しているため本来なら合計で 50 KB 程度なのですが、はてなの仕様で 200 KB 程度までサイズが大きくなってしまいました。

*2:Location で指定したリポジトリに、ここで入力したプロジェクト名のフォルダが作成されます。 AnkhSVN を使って trunk, tags, branches 形式でプロジェクトを管理する方法は、後日説明します。

*3:キーボードから「Ctrl + Enter」を入力してもコミットされます。マウスを使わず一発でコミットできるため、覚えておくと便利です。

*4:私の環境では、以前に紹介した方法を使って TortoiseSVN の Diff 機能を呼び出す設定に変更しています。