下面的办法可以搞定它:
一、首先,Subversion1.3及以后版本支持SVNListParentPath ON,之前的版本只能使用PHP自己做。
二、Location 设置中最后要加上/,应该是<Location /svn/>而不是<Location /svn>否则可能不能访问
。
三、通过“http://localhost/svn/” 来访问仓库列表,如果想让“http://localhost/svn”也起作用的
话,需要在</Location>的后面增加重定向的设置:RedirectMatch ^(/svn)$ $1/ ,当然也可以采用
RewriteEngine之类的办法。
四、修改后的httpd.conf的对应部分如下:
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath e:/svn
# SSLRequireSSL #指定该目录只能通过SSL操作
# SVNPathAuthz off
AuthzSVNAccessFile e:/ca/access/file
#try anonymous access first,resort to real
#authentication if necessary.
#Satisfy Any
Require valid-user
#how to authenticate a user
AuthType Basic
AuthName "服务器需要身份验证:"
# AuthUserFile e:/ca/access/svn-auth-file
AuthMySQLHost localhost
AuthMySQLUser Bugfree
AuthMySQLPassword mandarin
AuthMySQLDB BugFree
AuthMySQLUserTable BugUser
AuthMySQLNameField UserName
AuthMySQLPasswordField UserPassword
# AuthMySQLMD5Passwords On
AuthMySQLPwEncryption md5
</Location>
RedirectMatch ^(/svn)$ $1/
Apache+Subversion建多库,权限文件能每个库分开吗?
在httpd.conf中的svn路径使用svnpath,就要建立多个svn模块,每个模块对应一个库,各自可以有一个
access文件。要使用的是svnparentpath,就只能有一个access文件。