【问题标题】:How should I change to svn protocol instead of http我应该如何更改为 svn 协议而不是 http
【发布时间】:2012-01-04 14:49:01
【问题描述】:

我当前的svn服务器路径是

http://file.com/repo/testproj

但我想使用 svn 协议而不是 http

svn://file/repo/test 进行 SVN 同步

我需要做什么。

请帮忙。

我尝试过使用以下命令:svn switch --relocate http://file.com/repo/testprojsvn://file.com/repo/testproj 但它给出了错误: svn: '.'不是工作副本

【问题讨论】:

    标签: svn


    【解决方案1】:

    您可能正在通过 HTTP 服务器提供文件,例如 Apache 之类的。您需要停止这样做并使用svnserve 服务器提供服务。这将对svn://svn+ssh:// 协议作出反应。

    基本上,正如医生所说,

    最简单的选择是将 svnserve 作为独立的“守护程序”进程运行。使用 -d 选项
    为此:

    $ svnserve -d
    $ # svnserve is now running, listening on port 3690

    在守护进程模式下运行 svnserve 时,您可以使用 --listen-port--listen-host 选项来自定义要“绑定”到的确切端口和主机名。

    一旦我们如前所述成功启动 svnserve,它就会使您系统上的每个存储库都可用于网络。客户端需要在存储库 URL 中指定绝对路径。例如,如果存储库位于/var/svn/project1,客户端将通过svn://host.example.com/var/svn/project1 访问它。为了提高安全性,您可以将 -r 选项传递给 svnserve,这将其限制为仅导出该路径下的存储库。例如:

    $ svnserve -d -r /var/svn...

    使用 -r 选项可以有效地修改程序视为远程文件系统空间根目录的位置。然后,客户端使用的 URL 已从其中删除了该路径部分,从而留下了更短(也更不显眼)的 URL:

    $ svn checkout svn://host.example.com/project1

    阅读本手册:http://svnbook.red-bean.com/en/1.7/svn.serverconfig.svnserve.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 2015-02-14
      • 1970-01-01
      • 2013-09-13
      相关资源
      最近更新 更多