Subversion勉強中

ちょっと滞っていたSubversionの勉強*1?を再開。
昨日はssh経由でのアクセスを試してみました。ってかめっさ簡単だったんだけどね。

Subversion自体はRPMで入手して、Fedora Core 1 にさっくりインストール。Subversionをインストールするには apr とか neon とかがあらかじめインストールされていないといけないぽ。
http://subversion.tigris.org/ に行けば一通りそろっているので、片っ端から RPM をダウンロード&インストール(w
インストールにはroot権限が必要と思われます。Fedora Core 1 の場合、rpmをダブルクリックしたらGUIが起動して、rootのパスワードを聞かれたんで、パスワードを入力すればそのままインストール完了。

インストールが終わったらためしに svn --help と打ってみて

[moemoe@HMX-12 moemoe]$ svn --version
svn, version 1.0.5 (r9954)
   compiled Jun 11 2004, 12:41:38

Copyright (C) 2000-2004 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

 * ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
  - handles 'http' schema
  - handles 'https' schema
 * ra_local : Module for accessing a repository on local disk.
  - handles 'file' schema
 * ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' schema

とかって出たらインストール成功と思われる。RPM作ってくれている人たちに感謝!

そうしたら次に Subversionリポジトリを作成。Subversion を実行する人がアクセス可能なパーミッションをつけるのを忘れずに。
私の場合、svnuser っていうグループを新たにつくって、Subversionを実行するユーザをそのグループに属するようにしました。そうすれば、リポジトリのオーナグループを svnuser にして、chmod g+rw とかってしておけば読み書きできるんで。

ディレクトリをつくったら、svnadmin /home/svn_repository とかって打ってリポジトリをそこに作成します。
こんな感じ。↓

[moemoe@HMX-12 home]$ su
Password: 
[root@HMX-12 home]# mkdir svn_repository
[root@HMX-12 home]# chown nobody:svnuser svn_repository
[root@HMX-12 home]# ls -l
drwx------  11 moemoe moemoe   4096  18 01:49 data
drwx------  24 moemoe moemoe   4096  28 00:04 moemoe
drwx------   2 root   root    16384  17 10:25 lost+found
drwxr-xr-x   2 nobody svnuser  4096  28 10:34 svn_repository
drwxrwsr-x   2 apache users    4096  25 00:37 www_temp
[root@HMX-12 home]# chmod ug+ws svn_repository
[root@HMX-12 home]# ls -l
drwx------  11 moemoe moemoe   4096  18 01:49 data
drwx------  24 moemoe moemoe   4096  28 00:04 moemoe
drwx------   2 root   root    16384  17 10:25 lost+found
drwsrwsr-x   2 nobody svnuser  4096  28 10:34 svn_repository
drwxrwsr-x   2 apache users    4096  25 00:37 www_temp
[root@HMX-12 home]# exit
[moemoe@HMX-12 home]# svnadmin create /home/svn_repository
[moemoe@HMX-12 home]# ls svn_repository
README.txt  conf  dav  db  format  hooks  locks

これで Subversionリポジトリは作成完了。あとはリモートアクセスするための設定をするぐらいです。
今現在では Subversion のリモートアクセスは以下の方法とかがあるみたい。

私はssh経由をとりあえず試すことにしてみました。
ssh経由の場合、cvsのextでsshを使ったのと同じだと思ってもらっていいはず。
sshでログインしてくれて、相手先でsvnserveを実行してくれるらしい。たぶん。
なんで、sshでログインでいるアカウントさえあればリモートからSubversionが使えます。らくちんらくちん。
ためしに、打ってみました。↓

[moemoe@HMX-12 moemoe]$ svn list svn+ssh://HMX-12/home/svn_repository
moemoe@HMX-12's password: 
[moemoe@HMX-12 moemoe]$ 

何もリポジトリに突っ込んでいないので、何も表示されないのかな・・・(w

昨日やったのはとりあえずここまで。WebDAV経由もためしてみるかな。