在 Windows 中创建一个作为 https:///servername/svn 的 svn 存储库?
Creating an svn repository served as https://servername/svn in Windows?
托管我们的 Subversion 存储库的计算机已死机,我正在尝试将备份恢复到另一台计算机上。为了尽量减少客户端的麻烦,我想保留相同的基础 URL,其形式为:
托管在 FreeBSD 机器上;目前我唯一可以用来恢复存储库的机器是 Windows。所以我寻找了一个基于 Windows 的 Subversion 服务器,并尝试了 VisualSvn 和 CollabNet SubversionEdge,但是 运行 遇到了与它们完全相同的问题,即:
如果我要求他们创建一个名为 "svn" 的存储库,他们会创建一个访问方式为:
的存储库
如果我要求他们创建一个名为“/”或没有名称的存储库,他们只会给出一条错误消息,指出这是一个无效的名称。
如何使用这些产品之一(或某些其他 Windows svn 服务器)创建存储库,该存储库仅作为“/svn”而不是“/svn/somethingelse”访问?
您可能需要(喘息!)手动配置它。为此,您可能必须使用 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
,并且您在 /opt/repos/svn
下有一个 Subversion 存储库 svn
,那么您的 URL 该存储库将是 http://servername/svn/svn
.好处是如果你想要另一个 Subversion 仓库,你可以简单地将它添加到 /opt/repos
目录,并且它已经配置好了。
方式 #2:配置每个目录
<Location /svn>
DAV svn
SVNPath /opt/repos/svn
....
</Location>
这允许您每次配置一个且仅一个 Subversion 存储库。对于每个 <Location ...>
。但是,这种方式允许您指定根目录。在这种情况下,您的 URL 将是 http://servername/svn
。正如我所说,您必须自己修改 Apache 设置,但这并不难。 Subversion manual 有你需要的信息。
如果这是 Linux/Unix,文件将在 /etc/httpd
下。将有一个包含基础 httpd.conf
文件的 conf
目录和一个名为 conf.d
的第二个目录,其中包含包含这些更改的 subversion.conf
或 svn.conf
文件。
在 Linux 上使用 Collabnet,它位于 /opt/collabnet/etc/conf
或类似的位置。我不知道它放在 Windows 上的什么位置,但需要更改的文件将具有 *.conf
后缀,并且相当短。
使用 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. But it is now possible to adjust the URL to look like https://myserver/repos/myrepository or remove the prefix https://myserver/myrepository.
托管我们的 Subversion 存储库的计算机已死机,我正在尝试将备份恢复到另一台计算机上。为了尽量减少客户端的麻烦,我想保留相同的基础 URL,其形式为:
托管在 FreeBSD 机器上;目前我唯一可以用来恢复存储库的机器是 Windows。所以我寻找了一个基于 Windows 的 Subversion 服务器,并尝试了 VisualSvn 和 CollabNet SubversionEdge,但是 运行 遇到了与它们完全相同的问题,即:
如果我要求他们创建一个名为 "svn" 的存储库,他们会创建一个访问方式为:
的存储库如果我要求他们创建一个名为“/”或没有名称的存储库,他们只会给出一条错误消息,指出这是一个无效的名称。
如何使用这些产品之一(或某些其他 Windows svn 服务器)创建存储库,该存储库仅作为“/svn”而不是“/svn/somethingelse”访问?
您可能需要(喘息!)手动配置它。为此,您可能必须使用 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
,并且您在 /opt/repos/svn
下有一个 Subversion 存储库 svn
,那么您的 URL 该存储库将是 http://servername/svn/svn
.好处是如果你想要另一个 Subversion 仓库,你可以简单地将它添加到 /opt/repos
目录,并且它已经配置好了。
方式 #2:配置每个目录
<Location /svn>
DAV svn
SVNPath /opt/repos/svn
....
</Location>
这允许您每次配置一个且仅一个 Subversion 存储库。对于每个 <Location ...>
。但是,这种方式允许您指定根目录。在这种情况下,您的 URL 将是 http://servername/svn
。正如我所说,您必须自己修改 Apache 设置,但这并不难。 Subversion manual 有你需要的信息。
如果这是 Linux/Unix,文件将在 /etc/httpd
下。将有一个包含基础 httpd.conf
文件的 conf
目录和一个名为 conf.d
的第二个目录,其中包含包含这些更改的 subversion.conf
或 svn.conf
文件。
在 Linux 上使用 Collabnet,它位于 /opt/collabnet/etc/conf
或类似的位置。我不知道它放在 Windows 上的什么位置,但需要更改的文件将具有 *.conf
后缀,并且相当短。
使用 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. But it is now possible to adjust the URL to look like https://myserver/repos/myrepository or remove the prefix https://myserver/myrepository.