Subversion で管理される資源の格納場所 (御本尊) はリポジトリと呼ばれる。 リポジトリの作成作業は最初に 1 回だけ行えば良く、編集・更新 作業は後述の「通常の編集作業」に記述されたことを行えば良い。
開発者はこのリポジトリ内で「プロジェクト (モジュールとも呼ぶ)」 を開始し、各プロジェクト単位で開発を行なう。 プロジェクトの開始については Subversion でプロジェクトを始める を参照して欲しい。
各ユーザはレポジトリから作業用のコピーを取り出して開発作業を行う。 作業を行った場合には、レポジトリにその作業結果を反映させると レポジトリには、その作業履歴がすべて保存される。巻き戻しも容易にできるので わずかでも変更を加えた場合にはすぐ反映させるのが望ましい。
まずは何はともあれリポジトリを作らなければいけない。 また電脳サーバでは原則的にグループユーザ単位での開発をおこなうため、 リポジトリもそれに適したものでなければいけない。 既にリポジトリが存在してそれを利用する場合でも電脳リポジトリポリシー とグループ書き込み許可の設定は参照して欲しい。
以下は、電脳サーバにおけるリポジトリの一般的ルールである。 詳しくは各プロジェクト毎に詳細を決めると良い。
ここでは, SVN リポジトリは www.gfd-dennou.org の /GFD_Dennou_Club/ftp/arch/hoge/svnroot に作成することとする. そのためにはまず www.gfd-dennou.org へログインする.
$ ssh www.gfd-dennou.org
ログインしたら /GFD_Dennou_Club/ftp/arch/hoge/ まで移動する。
$ cd /GFD_Dennou_Club/ftp/arch/hoge/
CVSとことなり、普通のコマンドでディレクトリを作成する。
$mkdir svnroot
グループでの開発であることを考え, 作成するファイルのグループが hoge となるように, そしてグループに書き込み権限を与えるように グループと環境変数を変更する.
$ sg hoge $ chmod -R g+w hoge
現在のグループは id コマンドで, umask は umask コマンドで知ることが できる。準備が出来たら以下のコマンドでレポジトリにすることができる。
$ svnadmin create /GFD_Dennou_Club/ftp/arch/hoge/svnroot
これで レポジトリが作成されたはずである。
既存の CVS リポジトリから Subversion への移行を参照.
上記で umask などの設定をおこなったものの, s ビットを立てるなど, パーミッションの設定が必要となる.
svnroot 以下で作成されるファイル, ディレクトリのグループを hoge にするため, svnroot に s ビットを立て, 書き込み権限を 与える. 念のためにグループも hoge に設定する.
$ chmod -R g+s svnroot $ chmod -R g+w svnroot $ chgrp -R hoge svnroot
rm -rf で消してよい。
*1実際には chmod -R g+w svnroot/hoge/db のみすればよいように思われる。