// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents

**複数のリポジトリを公開したい [#q672784a]
サーバ上に
 /opt/svnroot1
 /opt/svnroot2
というSVNのリポジトリ((つまりたとえば svnadmin create /opt/svnroot1 とかしたってこと))があるとします。

 <Location "/svn">
   DAV svn
   SVNParentPath /opt
 </Location>
とhttpd.confに書いておくことで、
 http://[サーバ名]/svn/svnroot1/
 http://[サーバ名]/svn/svnroot2/
というURLでそれぞれのリポジトリにアクセス可能です。



**ディレクトリごとにアクセス制御する [#xcfc021e]
あるサーバ内で複数のリポジトリやtrunk,branches,tagsなど複数のディレクトリをあつかっているときの、ディレクトリごとのアクセス制御方法です。

httpd.confで

 <Location "/svn">
   DAV svn
   SVNParentPath /opt
   AuthzSVNAccessFile /opt/hogehoge/dav_svn.authz
   AuthName "Subversion repository"
   AuthType Basic
   Require valid-user
   AuthUserFile /opt/hogehoge/.htpasswd
 </Location>

などと書いておき、dav_svn.authz で
 [groups]
 developer = dev1
 
 [/trunk]
 @developer=r
としておきます。

そうすると
 http://[サーバ名]/svn/svnroot/trunk/     :dev1で読み可能
 http://[サーバ名]/svn/svnroot/branches/  :読み書き不可
 http://[サーバ名]/svn/svnroot/tags/      :読み書き不可
となります。

[/trunk] はリポジトリ名指定もできます。
 [svnroot1:/trunk]
 @developer=r
などと書けば
 http://[サーバ名]/svn/svnroot1/trunk/     :dev1で読み可能
 http://[サーバ名]/svn/svnroot1/branches/  :読み書き不可
 http://[サーバ名]/svn/svnroot1/tags/      :読み書き不可
 http://[サーバ名]/svn/svnroot2/trunk/     :読み書き不可
 http://[サーバ名]/svn/svnroot2/branches/  :読み書き不可
 http://[サーバ名]/svn/svnroot2/tags/      :読み書き不可
となります。


たとえば
-全てのユーザはtrunk,branches,tagsを読み可能
-admin1は何でもできる
-dev1はtrunk,branchesに書き込みも可能(tagsにはコミットできない)
-tester1,tester2はコミット不可能

などとしたい場合は以下のようにしておきます。
 [groups]
 admin = admin1
 developer = dev1
 tester = tester1,tester2
 
 
 #基本的に誰でも読みは可能
 #adminは読み書き可能
 [/]
 * = r
 @admin = rw
 
 #さらにdeveloperはtrunkを読み書き可能
 [/trunk]
 @developer = rw
 
 #さらにdeveloperはbranchesを読み書き可能
 [/branches]
 @developer = rw

-[[ディレクトリごとのアクセス制御>http://subversion.bluegate.org/doc/ch06s04.html#svn.serverconfig.httpd.authz.perdir]]

**subversionの".svn"を削除するワンライナー [#ad7e66e0]
[[uthorofotus iruc>http://flyfront.blog.shinobi.jp/Entry/6/]]というサイトに載ってました。
 $ rm -rf `find ./ -type d -name .svn ! -regex \.svn/. -print`
なるほどー。


----
この記事は
#vote(おもしろかった,そうでもない)
-  SVNParentPath /opt としないで SVNPath /opt/svnrootなどとしてる場合も動きます。もちろん。 -- [[きの]] &new{2007-06-11 (月) 01:54:26};

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS