「Subversion」の導入

「Subversion」を導入するが、一緒に「WebDAV」も導入する。
なお、「Apache」の設定は終わっているものとする。

「Subversion」のインストール

「Subversion」のインストール

「Apache」のモジュールで「Subversion」関連で必要なものもまとめてインストールする。

[root@Fedora ~]# yum -y install subversion mod_dav_svn
「Apache」の設定

「Apache」の設定

LoadModule以外の部分は全てコメントアウトされている為、以下のように必要な設定を記述する。

[root@Fedora ~]# vi /etc/httpd/conf.d/subversion.conf <= 設定ファイルの編集
<Location /repos>
DAV svn

以下のどちらかを指定
SVNPath /var/www/svn
SVNParentPath /var/www/svn
SVNPathは一つのリポジトリを指定している。
よって複数のリポジトリを管理する場合、都度追加する必要がある。
SVNParentPathはリポジトリの親ディレクトリを指定する。
その為、都度追加する必要はないが、アクセスする時はリポジトリ名まで指定する。

アクセス制限の設定
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/httpd/conf/.htpasswd
アクセス制限の内容によって、以下のどちらかを指定
・閲覧以外制限をかけたい場合
<LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
</LimitExcept>
・閲覧も制限をかけたい場合
Require valid-user

</Location>

パスワードの設定

[root@Fedora ~]# htpasswd -c /etc/httpd/conf/.htpasswd kaz <= すでに.htpasswdがある場合、-c オプションは必要なし
New password: <= kazのパスワード入力
Re-type new password: <= kazのパスワード入力(確認)

「Apache」の再起動

「Apache」を再起動して設定を反映させる。

[root@Fedora ~]# /etc/rc.d/init.d/httpd restart
「Subversion」の作業

ここでは最低限必要なコマンドのみ記述する。

リポジトリの作成

ここではリポジトリの内部データの設定にfsfsを指定している。
他には、「Berkeley DB」を指定する bdb が利用可能。

[root@Fedora ~]# svnadmin create /var/www/svn --fs-type fsfs

インポート

カレントディレクトリにあるtestディレクトリをインポートする場合。

[root@Fedora ~]# svn import test file:///var/www/svn/test -m "first"

チェックアウト

testリポジトリをカレントディレクトリにtestという名前でチェックアウトする場合。

[root@Fedora ~]# svn checkout file:///var/www/svn/test test

ファイルの追加

testディレクトリにあるhoge.txtを追加する場合。

[root@Fedora test]# svn add hoge.txt

リポジトリのコピーを更新する

[root@Fedora test]# svn update

コミット

上記のhoge.txtをコミットする。

[root@Fedora test]# svn commit README -m "add hoge.txt"

作業コピーに加えられた変更点の確認

[root@Fedora test]# svn status

ヘルプの表示

[root@Fedora test]# svn help

helpに続いてコマンドを入力すると、そのコマンドのヘルプが表示される。
例えば、commitのヘルプを表示する場合。

[root@Fedora test]# svn help commit
▲ページのトップへ