Subversionのリポジトリ設定

MAC(Leopard)でSubversionリポジトリの作成、設定を行い、svnserveを経由で接続する設定を行いましたのでメモリます。
(多分、ローカルでのアクセスしかしないのでsvnserveする必要はないかもしれないのですが..)

リポジトリーを作成する。

今回の例は、カレントパス下のrepoをリポジトリのルートとする例です。

#svnadmin create repo

リポジトリーにインポートする。

Importするファイルのあるパス内に移動して、以下のようにしてインポートしました。

#svn import -m "new.." file:///Users/nyaago/repo/cart/trunk

file:///Users/nyaago/repoまでがリポジトリへのパス/cart/trunkがリポジトリ内のパスです。

作成したリポジトリの認証の設定。

作成したリポジトリのconfファイルに設定ファイルあるので、以下のように設定しました。

  1. svnserve.conf

基本の設定ファイルであるsvnserve.confに以下の設定を記述(というより、コメントアウトするだけ)します。

anon-access = read
auth-access = write
password-db = passwd 
authz-db = authz
    • 「anon-access = read」は、匿名ユーザは読み込みのみ可能という指定。
    • 「auth-access = write」は、認証されたユーザは書き込みが可能であるという指定。
    • 「password-db = passwd 」はパスワードファイルの名前
    • 「authz-db = authz」は認証DBファイルの名前
  1. authz

認証DBファイル(svnserve.confのauthz-dbパラメータで指定したファイル)の条件を指定します。今回は、以下にように記述を追加しました。

[/]
nyaago = rw
* = r

[/]という行はリポジトリーのルート以下の設定を以下の行で指定するという意味です。
「nyaago = rw」という指定では「nyaago」というユーザにread/write権限を与え、「* = r」ではは全ての登録ユーザにreadの権限を与えることになります。

  1. passwd

パスワードファイル(svnserve.confのpassword-dbパラメータで指定したファイル)でユーザを登録すます。今回は以下のように1行追加して、ユーザを1つ追加しました。
[users]
# harry = harryssecret
# sally = sallyssecret
nyaago = ********

Svnserverを起動。

以下のようにして起動します。

>svnserve -d -r /Users/nyaago/repo

「-d」はデーモンでの起動を指定、
「-r <パス>」は、リポジトリーのルートを指定します。

checkout

チェックアウトするパスに移動してチェックアウトを行いました。

#svn checkout svn://localhost/cart/trunk

localhostリポジトリ内の/cart/trunk以下を現在の作業パスにチェックアウトすることになります。