托管Subversion存储库的计算机已经死亡,我正在尝试将备份还原到另一台计算机上。为了最大限度地减少客户端的麻烦,我希望保留相同的基本URL,其格式如下:
这是在FreeBSD机器上托管的;我目前唯一可以恢复存储库的机器是Windows。所以我找了一个基于Windows的Subversion服务器,并尝试了VisualSvn和CollabNet SubversionEdge,但遇到了两个完全相同的问题,这就是:
如果我要求他们创建一个名为“svn”的存储库,他们会创建一个存储库,可以访问:
如果我要求他们创建名为“/”的存储库,或者没有名称,他们只会给出一条错误消息,说明这是一个无效的名称。
如何使用其中一个产品(或其他一些Windows svn服务器)创建存储库,这些产品只能作为“/ svn”而不是“/ svn / somethingelse”访问?
答案 0 :(得分:2)
您可能必须(喘气!) 手动 对其进行配置。要做到这一点,您可能必须使用CollabNet的Subversion Edge。 VisualSVN更易于使用,但会覆盖您在Apache配置中所做的任何更改,除非您获得Pro版本。
实际上非常简单。有两种方法可以在Apache中配置Subversion:
<Location /svn>
DAV svn
SVNParentPath /opt/repos
....
</Location>
使用此方法时,/opt/repos
下的所有Subversion存储库都将位于/svn
目录下的Subversion中。大多数自动化系统都使用此方法,因为它为您提供了一种只使用一个Apache配置来配置多个存储库的简便方法。
如果您的Apache服务器是http://servername
,并且svn
下有一个subversion存储库/opt/repos/svn
,那么该存储库的网址将为http://servername/svn/svn
。优点是如果你想要另一个Subversion repo,你可以简单地将它添加到/opt/repos
目录,并且它都已配置完毕。
<Location /svn>
DAV svn
SVNPath /opt/repos/svn
....
</Location>
这允许您每次配置一个且仅一个Subversion存储库。对于每个<Location ...>
。但是,这种方式允许您指定根目录。在这种情况下,您的网址为http://servername/svn
。正如我所说,你必须自己修改Apache设置,但这并不困难。 Subversion manual包含您需要的信息。
如果这是Linux / Unix,则文件将在/etc/httpd
下。将有一个包含基本conf
文件的httpd.conf
目录和一个名为conf.d
的第二个目录,其中包含包含这些更改的subversion.conf
或svn.conf
文件。< / p>
使用Linux上的Collabnet,它位于/opt/collabnet/etc/conf
之下或类似的东西。我不知道它放在Windows上的哪个位置,但需要更改的文件将带有*.conf
后缀,并且会相当短。
答案 1 :(得分:1)
使用VisualSVN Server 3.5或更高版本。 Starting with version 3.5, it is possible to customize the URL prefix
在VisualSVN Server 3.4及更早版本中,存储库的URL始终显示为 https://myserver / svn / myrepository 。但现在可以将网址调整为 https://myserver / repos / myrepository 或删除前缀 https://myserver/myrepository