SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Visual Studioと.NET開発者のためのSubversion/TortoiseSVN入門

ソース管理ツール「Subversion」と「TortoiseSVN」の環境構築手順

インストール

 まずは、SubversionTortoiseSVNをダウンロードしましょう。インストールは、Subversionの後にTortoiseSVN という順番で行います。さらに、Visual Studioと統合したい場合は、VisualSVN(49ドル)やAnkh(フリー)といったツールもあります。

 TortoiseSVNはSubversionのGUIフロントエンドとして動作します。バージョンが違うと対応できない場合がありますので、両方とも最新バージョンをインストールするようにしましょう。

注1

 VisualSVNはVisual Studioと統合できますが、UIの大半はTortoiseSVNと同一です。

 ここからは、新しいリポジトリを作成して、複数のプロジェクトで構成されるVisual Studioのソリューションを追加する方法について説明していきます。

 リポジトリの作成が不要で、既存のリポジトリのローカルコピーを作成する方法のみを知りたい方は、「リポジトリからローカルにファイルのコピーを取得」の節までお進みください。

TortoiseSVNの設定

 最初に、TortoiseSVNの設定に小さな変更を1つ加えておくことをお勧めします。それは、ローカルのSVNリポジトリの名前を.svnから _svnに変えるという設定です。Visual Studioでは、先頭がピリオドのフォルダ名で問題が発生するため、_svnとしておく方が安全です。特に、Visual Studio統合型のツールに後で移行する可能性がある場合には必要になります。

 TortoiseSVNのインストールが完了した状態で、エクスプローラでファイルまたはフォルダを右クリックし、ショートカットメニューの[TortoiseSVN]を選択して、[Settings]を選択します。次に、[General]タブの[Use '_svn' instead of '.svn'(".svn"ディレクトリの代わりに"_svn"を利用する)]チェックボックスをオンにします(図1を参照)。

図1 TortoiseSVN設定の[General]タブ。Visual Studioでは、フォルダ名の先頭がピリオドの場合に問題が発生するため、.svnではなく_svnを使用するようにTortoiseSVNの設定を変更しておくことをお勧めします
図1 TortoiseSVN設定の[General]タブ。Visual Studioでは、フォルダ名の先頭がピリオドの場合に問題が発生するため、.svnではなく_svnを使用するようにTortoiseSVNの設定を変更しておくことをお勧めします

TortoiseSVNによるリポジトリの新規作成

 次に、新しいリポジトリの作成に進みます。リポジトリとは、TortoiseSVNが使用するディスク上の保存領域のことで、バージョン管理の対象となる全データがその中に保存されます。リポジトリの作成場所は、ローカルマシンでもよいですし、ユーザーがアクセス権を持つリモートサーバでも構いません。リモートサーバへのアクセスには、Subversionのデーモンサービスを用いる方法と、別途インストールしたApacheモジュールでHTTPを用いる方法があります。いずれの場合も、リポジトリを作成したマシン上でサービスが稼動している必要があるという点が肝心です。

 リポジトリの作成では、メインのリポジトリとなるメインフォルダをまず作成します。私はいつも、検索やバックアップが簡単なように、最上位レベルのフォルダを使うようにしています。そこで、例えば「d:\subversion」のようにフォルダを決めたうえで、次の操作を行います。

  1. フォルダ「d:\subversion」を作成します。
  2. [TortoiseSVN]を右クリックし、[Create repository here.(ここにリポジトリを作成)]を選択します。
  3. このリポジトリのアクセス許可を設定します。

 アクセス許可を設定するには、「d:\subversion\conf\svnserve.conf」を編集し、パスワードを設定します。「SvnServe.conf」で次のように設定します。

[general]
# anon-access = read
auth-access = write
password-db = passwd
realm = SummaLp

 この設定の場合、リポジトリへのアクセスには認証が必須になります。認証を受けたユーザーには書き込み権限を付与し、匿名ユーザーには一切のアクセス権を与えません。

 次にパスワードファイル(ファイル名は拡張子なしの「passwd」)を編集し、アクセスを認めるユーザーを、ユーザー名とパスワードのペアの形で設定します。次のような形式です。

[users]
ricks = wonkiewind
billp = haggard

Subversionをサービスとして起動する設定

 リポジトリを作成したら、次はリモートからアクセスできるようにするための設定です。方法は2つあります。1つは、Subversionに内蔵のデーモンサーバを使い、TCP/IP接続(デフォルトポートは3690番)経由でリポジトリのデータを取得する方法です。もう1つは、Apacheと Apacheモジュールを使い、HTTP経由でリポジトリに接続する方法です。デーモンを使ったTCP/IP接続はSubversionにネイティブの方法で、セットアップも簡単です。速度の面でもHTTP方式より優れています。一方、HTTP方式はApache経由で動作するため、セキュリティや認証の面で優れており、アクセスも80番ポートで可能です。この記事では、TCP/IPデーモンサービスを利用する方法のみを説明します。

 このサービスは、Subversionのインストール先の「BIN」ディレクトリにある「SvnServe.exe」です。このファイルを手動で実行しても動きますが、サービスとしてインストールする方が断然お勧めです。それには、次のコマンドラインを実行します(バッチファイルにするとよいでしょう。全体を1行で記述してください)。

sc create svn binpath= "\"c:\programfiles\subversion\bin\svnserve.exe\" --service -rd:\subversion" displayname= "Subversion Server" depend= Tcpip start= auto

 上記のコマンド中のパスは、実際のインストール先とリポジトリのパスに合わせて修正してください。また、コマンド中のスペースも重要で、省略はできません。私の場合、スペースを入れなかったせいでうまく動作しなかったことがありました。

 別のポートを使用したい場合は、「listen-port=nn」と追加します。nnはポート番号です。その他のオプションについては、ドキュメントを参照ください。

 サービスを開始するには、サービスマネージャかコマンドプロンプトを使います。コマンドは次のようにします。

sc start svn

 これが必要なのは最初の1回のみです。上記のコマンドでサービスをインストールした場合、次回のWindowsの起動時からはサービスも自動的に起動します。

リポジトリの動作確認

 リポジトリの動作を確認するために、任意の場所でTortoiseSVNを起動し、IPアドレスかホスト名を使って接続を試してみます。エクスプローラを開き、右クリックして、ショートカットメニューの[TortoiseSVN]を選択し、[Repo-browser.]を選択します。「svn://<IP アドレスまたはホスト名>/」と入力すると、作成したリポジトリが表示されるはずです。リモートマシンにリポジトリをインストールした場合は、IP アドレスかドメイン名を使います。

 ノードをダブルクリックしてリポジトリを開いてみましょう。エラーメッセージが表示されるようなら、リポジトリに接続できていません。ローカルマシンのリポジトリであれば、普通は問題ないはずです。接続できない場合は、サービスの登録時に指定したリポジトリとパスに誤りがないか確認してください。リモートマシンのリポジトリの場合は、サーバが待機しているポートへの通信が接続側とサーバ側のファイアウォールを通過できるかどうか確認してください。デフォルトのポートは3690番です。

 エラーなしでリポジトリを開けるようになったら、Subversionによる共有ソース管理の準備は完了です。

次のページ
ソース管理へのプロジェクトとファイルの追加

この記事は参考になりましたか?

japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Rick Strahl(Rick Strahl)

ハワイのマウイ島にあるWest Wind Technologies社の社長。同社はWebおよび分散アプリケーションの開発とツールを専門にしており、Windowsサーバー製品、. NET、Visual Studio、およびVisual FoxProに主軸を置いている。RickはWest Wind Web Connection、West Wind Web Store、およびWest Wind HTML Help Bui...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3114 2008/10/30 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー