如何在多路径服务器上运行SVN服务协议

如何在多路径服务器上运行SVN服务协议,svn,svnserve,svn-server,Svn,Svnserve,Svn Server,我正在设置一个svn服务器,其中有多个svn存储库路径,如/var/data/svnrepos1/forclient1和/var/data/svnrepos2/forclient2。SVN安装在自定义路径/usr/install/svn1.8/bin/{svnadmin、svnserve、SVN等}中 我正在尝试使用命令行运行svnserve程序,如下所示。在命令提示符下发出的命令是/usr/install/svn1.8/bin/svnserve-d-r/var/data/svnrepos/f

我正在设置一个svn服务器,其中有多个svn存储库路径,如/var/data/svnrepos1/forclient1和/var/data/svnrepos2/forclient2。SVN安装在自定义路径/usr/install/svn1.8/bin/{svnadmin、svnserve、SVN等}中


我正在尝试使用命令行运行svnserve程序,如下所示。在命令提示符下发出的命令是
/usr/install/svn1.8/bin/svnserve-d-r/var/data/svnrepos/forclient1-r/var/data/svnrepos2/forclient2
,但SVN程序仅用于第二个路径
/var/data/svnrepos2/forclient2
。无法在
/var/data/svnrepos1/forclient1
下访问回购协议。我已经通过运行类似{-r path2-r path1}的守护进程进行了检查。在本例中,为path1工作。`了解svn程序如何设置多个路径。

您可以:

  • 将存储库移动到公共父级(
    /var/data/svnrepos
    f.e),并让单个实例为forclient1和forclient2提供repos(只需为不同的repos正确配置ACL)
  • 不同端口上运行两个svnserve实例,每个端口中都有一个唯一的根

这篇文章现在看起来不错。谢谢你,獾。我同意搬到一个普通的父母那里可以达到这个目的。我相信SVN将在标记为“-r”的路径下读取即时目录/存储库。但是,我不能将回购协议转移到普通母公司。我们不希望移动到一个父级,因为两个父级是完全不同类型的回购代码,除非这些存储库是使用SVN 1.8版本创建的。应该有诀窍,但我不知道。@arunp-不,这不是Apache的
SVNParentPath
风格。您可以在repo之上的任何级别拥有root,它只会更改存储库的完整URL。您可以使用-r/var/data/Yeah-Badger~ repo正在使用存储库的完整URL。是否可以使用“-r”选项以多个路径运行SVN服务。因此,URL中不需要repo path的父目录。[svn://servername/svnrepos/repository ]我觉得应该对用户隐藏存储库所在的父目录。@arunp-不,每个守护进程不能有多个
-r
实例。也就是说,你必须只使用第2页