我想在我的本地机器上安装 svn 服务器。我已经安装了 CollabNetSubversion-server-1.8.4-1-Win32。
创建存储库: svnadmin create myrepo 。我的 conf 文件看起来像:

[general]
anon-access = read
auth-access = write
# password-db = passwdle.
# authz-db = authz
# groups-db = groups
realm = khris
# hooks-env = hooks-env
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256

我还安装了 Tortoise SVN,创建文件夹 myclientrepo ,并尝试命令 Checkout。设置存储库的 URL: svn://localhost/myrepo 。我有:
 Unable to connect to a repository at URL 'svn://localhost/myrepo'
 Can't connect to host 'localhost': No connection could be made because the target machine actively  refused it.

我怎样才能解决这个问题?

最佳答案

两件事情:

  • 你运行 svnserve 了吗?那是 svn:// 协议(protocol)的 Subversion 服务器。
  • 是不是有什么东西阻塞了 3690 端口?这是 svnserve 默认使用的端口。确保您的 Windows 防火墙没有打开,并且您的路由器没有阻止该端口。

  • 还有一件事:你配置它的方式:
    anon-access = read
    auth-access = write
    

    意味着匿名用户具有只读访问权限,您需要登录系统才能拥有读/写访问权限。

    但是,您还有:
    # password-db = passwd
    # authz-db = authz
    # groups-db = groups
    

    全部注释掉,这意味着您没有授权数据库来允许用户登录到您的 Subversion 存储库以便能够提交更改。

    最简单的方法是删除 # 前面的 password-db 。在这个配置文件所在的存储库中,有一个名为 passed 的文件。您可以使用它来配置您的用户和密码。方向在那个文件里面。

    关于svn 无法建立连接,因为目标机器主动拒绝它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20023520/

    10-14 18:32