承载我们的Subversion存储库的计算机已经死亡,我正在尝试将备份还原到另一台计算机上。为了尽量减少客户端的麻烦,我希望保留相同的基本URL,它的形式如下:
这是托管在一台FreeBSD机器上的;我目前唯一可用的恢复存储库的机器是Windows。因此,我寻找了一个基于Windows的Subversion服务器,并尝试了VisualSvn和CollabNet SubversionEdge,但是遇到了与它们完全相同的问题,即:
如果我要求他们创建一个名为"svn“的存储库,他们将创建一个存储库,该存储库的访问方式为:
如果我要求他们创建一个名为"/“的存储库,或者没有名称,他们只会给出一个错误消息,说明它是一个无效的名称。
如何使用这些产品之一(或其他Windows服务器)创建一个存储库,而不是以“/ svn /什么其他”的形式访问?
发布于 2015-02-23 20:58:02
您可能必须(喘息!)手动配置它。为此,您可能必须使用CollabNet的Subversion Edge。VisualSVN更容易使用,但除非获得Pro版本,否则将覆盖您在中所做的任何更改。
其实很简单。在Apache中配置Subversion有两种方法:
方法1:使用父目录
<Location /svn>
DAV svn
SVNParentPath /opt/repos
....
</Location>使用此方法时,/opt/repos下的所有Subversion存储库都将位于/svn目录下的Subversion中。大多数自动化系统都使用这种方法,因为它为您提供了一种简单的方法,只需使用一个Apache配置就可以配置多个存储库。
如果您的Apache服务器是http://servername,并且在/opt/repos/svn下有一个subversion存储库svn,那么该回购的URL将是http://servername/svn/svn。好处是如果您想要另一个Subversion repo,您可以简单地将它添加到/opt/repos目录中,并且它都已经配置好了。
方法2:配置每个目录
<Location /svn>
DAV svn
SVNPath /opt/repos/svn
....
</Location>这允许您每次只配置一个Subversion存储库。对于每个<Location ...>。但是,这种方式允许您指定根目录。在这种情况下,您的URL将是http://servername/svn。正如我所说,您必须自己修改Apache设置,但这并不困难。颠覆手册有您需要的信息。
如果这是Linux/Unix,文件将位于/etc/httpd下。将有一个包含基本httpd.conf文件的httpd.conf目录和一个名为conf.d的目录,该目录包含包含这些更改的subversion.conf或svn.conf文件。
有了Linux上的Collabnet,它就在/opt/collabnet/etc/conf或者类似的东西下面。我不知道它放在Windows上的位置,但是需要更改的文件将有*.conf后缀,并且会相当短。
发布于 2016-01-15 13:44:22
使用VisualSVN服务器3.5或更高版本。从3.5版开始,可以自定义URL前缀。
在https://myserver//svn__/myrepository.服务器3.4及更高版本中,您的存储库的URL总是类似于VisualSVN但是现在可以调整URL以使其看起来像https://myserver//repos__/myrepository,或者删除前缀https://myserver/myrepository。
https://stackoverflow.com/questions/28682129
复制相似问题