Subversion

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

環境

筆者が、以下の作業を行なった環境について、書きます。

TortoiseSVN

Subversion の GUI クライアントです。

TortoiseSVN をダウンロード

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

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

サーバの作成

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

まず、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 内にある各ショートカットを参考にしてください。ショートカットのリンク先に、起動オプションが書かれています(参考ページ)

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

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

Ubuntuの場合

Ubuntu でパッケージを使う場合は、下記のように簡単に設定ができます。

$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn

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

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

リポジトリの作成

以下、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/

トラブルシューティング


履歴


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-08-07 (金) 00:58:11