Subversion隐藏存储库路径

clo*_*ops 5 svn

如何配置subversion服务器以隐藏来自外部世界的完整存储库路径?

例如,存储库位于/home/svn/foobar/...我想通过ssh访问它svn+ssh://user@domain.com/foobar.

clo*_*ops 3

仔细阅读官方 SVN 文档,我发现当通过 svn+ssh 访问 subversion 时,每个连接都会生成一个单独的 svnserve 进程。因此,诀窍是

  1. 重命名svnservesvnserve.bin
  2. 创建一个名为svnserve
  3. 将以下内容添加到其内容中

    #!/bin/sh
    exec /usr/bin/svnserve.bin -r /home/svn "$@"
    
    Run Code Online (Sandbox Code Playgroud)

因此,每次需要服务器实例时都会调用包装器。它将依次使用新的根路径初始化服务器。

小菜一碟!