远程连接到CollabNet SVN的问题

时间:2009-10-16 19:25:11

标签: svn version-control

我使用所有默认设置设置基本的Win32 CollabNet SVN Server 1.6.5-6,并在端口9999上运行Apache。另外,我安装了TortoiseSVN。只要我使用FILE网址,例如: file:/// C:/ SVNRepository / ,一切都可以与Tortoise以及Eclipse一起使用。

如果我在http://localhost:9999指向Internet Exploder,它会给我一条http文字信息,上面写着“它有效!”。当我尝试连接url http://localhost:9999/svn时,浏览器会显示C:\ SVNRepository的4个根目录,但它们不是可浏览的目录。将浏览器指向 svn:// localhost:9999 / svn 会导致浏览器打开Tortoise,而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>

5 个答案:

答案 0 :(得分:1)

如果您尝试通过Apache服务器访问SVN存储库,则应使用指定http协议的URL:http://localhost:9999/something。 svn协议用于独立的svn服务器。 something部分将取决于Apache的配置方式(无论Apache期望映射到目录C:\ SVNRepository)。

答案 1 :(得分:1)

svn://开头的颠覆网站使用由svnserve处理的子版本自己的协议。如果你正在使用apache,如果配置正确,你将使用mod_dav_svn模块进行apache。当使用apache服务svn存储库时,您也可以通过任何浏览器访问存储库 - 只需在浏览器中键入URL,您就会看到文件列表的相当简单的表示形式。这是查看存储库是否实际提供的非常有用的方法。通过apache提供的所有URL都使用http协议或其SSL变体https。与任何网络服务器一样,如果您使用的是非标准端口,则需要使用URL指定它。

答案 2 :(得分:1)

尝试在Web浏览器中打开存储库时发现未找到错误表明该网址错误。从阅读opencollab svn服务器的自述文件看,建议的存储库url-prefix似乎是/ 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存储库的目录。

答案 3 :(得分:0)

我从未使用过apn的SVN,但不应该是

<强> HTTP ://本地主机:9999

如果通过apache访问它?我可以看到指定svn协议在尝试连接时可能会混淆龟。

另外尝试“telnet localhost 9999”测试端口正在侦听。

HTH。

答案 4 :(得分:0)

很难说,但最明显的是apache配置有问题。 要获得更精确的答案,您应该发布具体的设置步骤。

但除了自行安装之外,你应该看看VisulaSVN Server。这在Windows环境中非常方便(您似乎可以使用它)。它是一个完整的SVN服务器,通过简单的GUI轻松配置。