WindowsでSubversionをApache2.2に連携してsubversiveで繋ぐ


似たようなこと過去にも書いてるけど、久しぶりにやってみたらちょっと手こずったので、また書いてみる。

違いは、Windows上でSubversionApacheに連携することと、Eclipseでの接続にsubclipseじゃなくてsubversiveを使うという点です。
以下、Apache2.2とEclipse3.4がインストール済みとしての説明です。

Subversionダウンロード

subversion: Subversion Packages
ここから「Apache 2.2」→「svn-win32-1.5.5.zip」をダウンロード

Subversionインストール

デフォルトのままインストール

リポジトリルートディレクトリを作って初期化

  1. ルートディレクトリ(例:C:/SVN/REPOS/)を作る
  2. コマンドプロンプトでルートディレクトリを初期化
C:\> svnadmin create C:\SVN\REPOS

テスト用プロジェクト作成

  1. テスト用プロジェクト
    • 例:
      • C:/PROJ/TEST/
      • C:/PROJ/TEST/test.txt

テスト用プロジェクトインポート

コマンドプロンプトでプロジェクトのディレクトリに移動

C:\> cd C:\PROJ\TEST\

インポート

C:\PROJ\TEST>svn import file:///C:/SVN/REPOS/TEST -m "Initial import."
追加しています              text.txt
リビジョン 1 をコミットしました。

Apachehttpd.confの修正とモジュールコピー

下記ファイルを開く

  • C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf

下記のコメントアウトを外す

#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

こんな感じに

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so


下記の設定をLoadModule群の一番下に追加

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so


下記の設定を一番下に追加

<Location /svn>
  DAV svn
  SVNPath "C:/SVN/REPOS"
</Location>


Subversionのbinにあるmod_dav_svn.soとmod_authz_svn.soをコピー

のファイルを

  • C:\Program Files\Apache Software Foundation\Apache2.2\modules

にコピー


Apache再起動

ブラウザからアクセス

http://localhost/svn/
以下のようにブラウザに表示される
svn - Revision 1: /
・TEST/

subversiveを以下からEclipseのヘルプ→ソフトウェア更新でインストール

http://www.polarion.org/projects/subversive/download/eclipse/2.0/ganymede-site/
http://www.polarion.org/projects/subversive/download/integrations/ganymede-site/

subversiveの設定

「ウィンドウ」→「設定」→「チーム」→「SVN」→「SVNネクター」で以下を選択
SVN Kit (SVN/1.5.0 SVNKit/1.2.0-beta4 (http://svnkit.com/) r4583)」

※これ設定しないとApache経由でもローカルのリポジトリに繋がらないみたい。

subversiveリポジトリ設定

  1. 「ウィンドウ」→「パースペクティブを開く」→「その他」→「SVNリポジトリー・エクスプローラー」
  2. 「これで出てきたウィンドウで右クリック」→「新規」→「リポジトリー・ロケーション」→「一般」のURLに以下を設定
    • http://localhost/svn/

以下でもいい(Apacheと連携した意味ないけど)

    • file:///C:/SVN/REPOS

で、繋がったはず。


今回は省略したけど、ちゃんとSubversionルール通りにリポジトリーのディレクトリには「trunk」「tags」「branches」ディレクトリを作ったほうがいいですね。