AnkhSVN を使った一連の流れ (diff/update/commit)

今回は、AnkhSVN を使った開発の流れを説明します。基本的な流れは、「開発 -> テスト -> diff -> update -> (必要に応じて test) -> commit」となります。

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

AnkhSVN を使った時の開発の流れ

ソースコードの修正が完了したら、常に diff を確認

ソースコードの修正やテストが完了して「さぁ、 commit だー」という前に、 diff を確認しましょう。 diff で確認するポイントは、主に 2 つあります。

  • 必要な修正が含まれていることを確認 (ソースコードレビュー)
  • キーボードの操作ミスなどで、必要な行や文字を誤って削除していないことを確認
commit 前に update を実行して他人の修正内容を取り込む

誰かが先に commit した内容と競合する可能性があるため、 commit 前に update を実行します。 update でいくつかのファイルが更新された場合、自分の修正内容と競合しないか、再テストを行ってください。

すべての確認が完了したら commit

すべての確認が完了したら commit します。 commit 前には、再々再確認くらいの気持ちで diff を見たり、テストしたりしてください。最低限、コンパイル (とユニットテスト) が通るリソースを commit しないと、チームメンバに迷惑がかかります。

commit したら完了です。ちょっと気取ったチーム :-) なら、 post-commit スクリプトなどで、常時統合環境にビルド・配布されることでしょう。

AnkhSVN の操作手順

以下、 AnkhSVN の操作手順について説明します。基本的にはすべて右クリックで操作を開始できるので、迷うことはあまりないと思います。

  1. SVN で管理されているファイルを変更すると、ファイル名の左側についていた青色のチェックマークが赤色の四角に変化
  2. ファイルの変更点を確認するには、ソリューションを選択し「右クリック」-「Show Changes」を実行
    Show Changes
  3. AnkhSVN 内蔵の diff が起動*1
    diff
  4. 変更内容を確認、 diff 画面を閉じる
  5. 他人の変更点を取り入れるには、ソリューションを選択し「右クリック」-「Update to Latest Version」
    Update to Latest Version
  6. 変更したファイルをコミットするには、ソリューションを選択し「右クリック」-「Commit Solution Changes」
    Commit Solution Changes
  7. コミットダイアログが表示されるので、ログを入力し「OK」*2
    Commit to Subversion
  8. 完了 (ソリューション エクスプローラ内のマークがすべて青色のチェックマークに変わる)

*1:TortoiseSVN の diff を起動するための設定は、後日説明します

*2:ちなみに、ここでファイル名を右クリックしても diff を確認できます