* Subversion [#qe044ddf]
バージョン管理ツールです。CVSに比べてバイナリファイルの扱いが簡単だったり、TortoiseSVN という GUI クライアントがかなり便利です。

** 環境 [#of53083c]
筆者が、以下の作業を行なった環境について、書きます。
- OS : Windows XP SP2
- Apache : 2.2.6
- Subversion : 1.4.6
- TortoiseSVN : 1.4.5

** TortoiseSVN [#p0f0fdf5]
Subversion の GUI クライアントです。

[[TortoiseSVN をダウンロード:http://tortoisesvn.net/downloads]]

上記のページで、TortoiseSVN 本体と Language Pack が入手できます。Language Pack はなくとも十分です。これまで、英語表示に慣れていると、日本語表示ではかえって混乱するかも。

インストール後は、さっそくリポジトリを作成して、バージョン管理を行なうことができます。

- [[SubversionTips]]
** サーバの作成 [#g2abc81a]
ローカル環境でバージョン管理を行なうのなら、TortoiseSVN のみで十分ですが、ネットワーク越しにアクセスを行なう場合、サーバを用意する必要があります。今回は、Apache2ベースのサーバを利用します。

- [[Apache 2 をダウンロード:http://www.apache.jp/]]
- [[Subversion をダウンロード:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91]]
-- 上記ページは、Apache2.2 用です。Apache2.0 用は別のフォルダにあるので、ご注意ください

まず、Apache をインストールします。それから、Subversion を展開したら、bin フォルダのなかにある mod_dav_svn.so を、Apache の modules フォルダのなかに入れます。同じく Subversion の bin フォルダのなかにある dll ファイルを、Apache の bin フォルダのなかに入れます。既に存在している dll については、元のままで良いと思います。mod_dav_svn.so のみのコピーでは、「指定したファイルが見つかりません」とエラーになるはずです。

最後に、Apache の設定ファイルを修正します。conf/httpd.conf をエディタで開きます。まず、
 LoadModule dav_module modules/mod_dav.so
という一行があるか、確認してください。コメントになっていた場合は、コメントを外してください。このモジュールは、先ほどの mod_dav_svn.so のフロントエンド側に相当します。

続いて、Subversion 用の設定を行ないます。下記のコードを、先述の dav_module のロードより後ろに、追加してください。よくわからない場合は、ファイルの末尾に追加すれば良いです。

 <IfDefine SVN>
     <IfModule !mod_dav_svn.c>
         LoadModule dav_svn_module modules/mod_dav_svn.so
     </IfModule>
     <Location /svn>
         DAV svn
         SVNPath E:\svn_repos\tqa
     </Location>
 </IfDefine>

一番外側にある IfDefine は、起動時のオプションで、-DSVN があれば Subversion 用の設定を有効にするためのものです。起動オプションの設定については、スタートメニューから辿れる Control Apache Server 内にある各ショートカットを参考にしてください。ショートカットのリンク先に、起動オプションが書かれています([[参考ページ:http://www.cgi-club.com/im/main/club/pcweb/apache/restart.shtml]])

もし、常時 Subversion を有効にする場合は、起動オプションや IfDefine は不要です。

Location ディレクティブに書いてある /svn は、Subversion のリポジトリへアクセスするさいのパスです。この例の場合 "http://localhost/svn/" でアクセスできます。SVNPath では、実際のリポジトリがある場所を、指定します。パスの最後に \ を書くと、設定ファイルが正しく解釈されないので、注意してください。

*** Ubuntuの場合 [#ybbf1c9b]
Ubuntu でパッケージを使う場合は、下記のように簡単に設定ができます。
 $ sudo apt-get install subversion
 $ sudo apt-get install libapache2-svn

設定ファイルは、/etc/apache2/mods-available/dav_svn.conf にあります。基本的に、コメントアウトを外すだけで大丈夫です。認証に関する設定は、必要なければコメントのままで良いです。

複数のリポジトリを使いたい場合は、SVNParentPath を指定します。プロジェクトごとにrevision 番号を振り直したいときは、複数リポジトリが必要です。

** リポジトリの作成 [#a8b54a1e]
以下、ubuntu の場合の説明です。Windows の場合は、TortoiseSVN のGUI メニューをたどれば、できると思います。

下記のコマンドで、リポジトリが作成できます。
 $ sudo svn-admin create --fs-type fsfs /home/svn

ファイル所有者を、apache の実行ユーザーに変更してください。/etc/passwd を確認すれば分かると思いますが、恐らく www-data:www-data です。
 $ sudo chown -R www-data:www-data /home/svn

リポジトリにファイル群をインポートします。下記のようなリポジトリ位置を指定してください。インポート対象は、ディレクトリを指定すると、そのディレクトリ配下のファイルが登録されます。ディレクトリ自身は登録されません。
 http://server/svn/repos_1/
** トラブルシューティング [#zb43bb7f]
- ローカル指定では上手くいったのに、Apache経由ではリポジトリが見つからない
-- そもそもApacheが起動しているか
-- SVNPathはリポジトリを指定しているか。リポジトリがあるディレクトリではなくて、リポジトリのディレクトリ自体を指定する必要がある


----
** 履歴 [#te8b47da]
- 2007/12/30 : bokupi 新規作成

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS