Subversionメモ/SVNPathとSVNParentPath?
Tag: Subversion
SubversionのリポジトリをHTTP経由で公開する場合は/etc/apache2/mods-available/dav_svn.confというファイルに以下のような感じでLocationを設定します。
<Location /repos/common> DAV svn SVNParentPath /mnt/repos/common} AuthType Basic AuthName "Common Subversion Repository" AuthUserFile /mnt/repos/common/.htpasswd Require valid-user </Location>
その際にSVNPathかSVNParentPath?を設定するのですが、その違いを纏めておきます。
1個のリポジトリだけを指定する。
全体を通してリビジョンを管理する場合はこれが望ましい。
SVNPath /mnt/repos/common
この場合、リポジトリパスは以下のようになります。
http://kaguya/repos/common
common配下の構成は一般的に以下にような感じになります。
└─common/ ├─branches/ ├─tags/ └─trunk/
複数のリポジトリがある場合、その親ディレクトリを指定する。
プロジェクトが複数あり、個々にリビジョンを管理する場合はこれが望ましい。
SVNParentPath? /mnt/repos/common
この場合、リポジトリパスは以下のようになります。
http://kaguya/repos/common/project1
http://kaguya/repos/common/project2
common配下の構成は一般的に以下にような感じになります。
└─common/ ├─project1/ │ ├─branches/ │ ├─tags/ │ └─trunk/ └─project2/ ├─branches/ ├─tags/ └─trunk/
この場合、/mnt/repos/commonのサブディレクトリproject1とproject2が別々のリポジトリで別々のリビジョン番号となります。
上記の設定にしておくと、apache2の再起動をせずにレポジトリを追加できるので便利です。
http://kaguya/repos/common/project3とかを追加しても/etc/apache2/mods-available/dav_svn.confは変更する必要はありません。
ただし、この設定が有効なのは/mnt/repos/common直下のサブディレクトリのみです。
以下のようにディレクトリ階層が深くなる場合は場合は
SVNParentPath? /mnt/repos/common/group1
SVNParentPath? /mnt/repos/common/group2
を指定する必要があります。
└─common/ ├─group1/ │ ├─project1/ │ │ ├─branches/ │ │ ├─tags/ │ │ └─trunk/ │ └─project2/ │ ├─branches/ │ ├─tags/ │ └─trunk/ └─group2/ └─project3/ ├─trunk/ ├─tags/ └─branches/
SVNParentPath? /mnt/repos/commonは直下にリポジトリが無い限り設定する必要はありません。
コメントはありません。 コメント/Subversionメモ/SVNPathとSVNParentPath?
Online: 2