我使用所有默认设置和运行在端口9999上的Apache设置了基本的Win32 CollabNet SVNServer1.6.5-6。此外,我还安装了TortoiseSVN。只要我使用文件url (如:file:///C:/SVNRepository/ ),乌龟和Eclipse都能正常工作。
如果我把互联网爆炸器指向http://localhost:9999,它会给我一条http短信,上面写着“它有效!”当我试图连接url http://localhost:9999/svn时,浏览器会显示C:\SVNRepository的4个根目录,但它们不是可浏览的目录。将浏览器指向svn://localhost:9999/svn会导致浏览器打开Tortoise,从而将explorer.exe锁上5分钟直到超时。
怎么啦?
经过审议,答案是:
<Location /svn>
DAV svn
#SVNParentPath C:/NotUsed
SVNPath "C:/SVNRepository"
SVNListParentPath On
#Require valid-user
#AuthType Digest
AuthName "SVNRepository"
#AuthUserFile "C:/Subversion Server/httpd/conf/svnauthfile"
</Location>发布于 2009-10-19 15:21:53
当试图在web浏览器中打开存储库时,您会得到一个未找到的错误,这意味着url是错误的。从阅读开放实验室svn服务器的自述文件中可以看出,建议的存储库的url前缀是/svn,所以如果您遵循这些建议,您的"CodeRoot“将是http://localhost:9999/svn/CodeRoot。
您应该能够通过查看apache的httpd.conf来确认是否存在这种情况,在文件的底部您应该可以找到以下内容
<Location /_url prefix here_>
DAV svn
#SVNParentPath C:\repositories
SVNPath C:\repositories
</Location>如果您只有一个存储库,并且希望能够通过localhost/svn访问它,则应该使用SVNPath而不是SVNParentPath,并将其指向存储库的完整路径。如果您想让多个存储库在/svn下可用,请使用SVNParentPath,并将其指向包含所有svn存储库的目录。
发布于 2009-10-16 19:48:14
如果您试图通过Apache服务器访问SVN存储库,则应该使用指定http协议:http://localhost:9999/something的URL。svn协议适用于独立的svn服务器。something部分将取决于如何配置Apache (无论Apache希望映射到目录C:\SVNRepository)。
发布于 2009-10-16 23:21:25
从svn://开始的subversion URL使用由svnserve处理的subversion自有协议。如果您使用的是apache,那么如果配置正确,您将使用apache的mod_dav_svn模块。当使用apache为svn存储库提供服务时,您还可以通过任何浏览器访问存储库--只需在浏览器中键入URL,您就会看到文件列表的简单表示。这是查看存储库是否实际得到服务的一种非常有用的方法。通过apache提供的所有URL都使用http协议或其SSL变体https。与任何need服务器一样,如果您使用的是非标准端口,则需要使用URL指定它。
https://stackoverflow.com/questions/1579937
复制相似问题