从网络签出SVN存储库

从网络签出SVN存储库,svn,windows-xp,tortoisesvn,windows-server-2003,Svn,Windows Xp,Tortoisesvn,Windows Server 2003,我以前也问过类似的问题。当时我使用的是服务器的VM副本,我列出的解决方案有效。这次我使用的是实际的服务器,签出存储库时遇到问题 Unable to open an ra_local session to URL Unable to open repository 'file://REMOTE-PC/repositories/MyApps/trunk/App1' Can't open file '\\REMOTE-PC\repositories\MyApps\trunk\App1\format

我以前也问过类似的问题。当时我使用的是服务器的VM副本,我列出的解决方案有效。这次我使用的是实际的服务器,签出存储库时遇到问题

Unable to open an ra_local session to URL 
Unable to open repository 'file://REMOTE-PC/repositories/MyApps/trunk/App1' 
Can't open file '\\REMOTE-PC\repositories\MyApps\trunk\App1\format': Logon 
failure: unknown user name or bad password.
我的问题是

  • 我是否需要对服务器上的文件夹拥有特殊权限才能成功签出存储库

  • 指出在哪里使用哪种协议?我以前在虚拟机上使用过它,它很有效

    file://REMOTE-PC/repositories/MyApps/trunk/App1

  • 我应该用什么

    +------------+--------------------------------------------------------------+
    | file:///   | Direct repository access (on local disk)                     |
    | http://    | Access via WebDAV protocol to Subversion-aware Apache server |
    | https://   | Same as http://, but with SSL encryption.                    |
    | svn://     | Access via custom protocol to an svnserve server             |
    | svn+ssh:// | Same as svn://, but through an SSH tunnel.                   |
    +------------+--------------------------------------------------------------+
    
    它以前起作用,现在不起作用?请回答这两个问题


    我还想提到的是,如果我想从服务器(我使用的是远程桌面)访问我的PC(存储库所在的位置),我必须输入用户名和密码。我必须在SVN命令中提供这些吗?

    检查此路径上的读/写权限:

    \\REMOTE-PC\repositories\MyApps\trunk\App1
    

    检查此路径上的读/写权限:

    \\REMOTE-PC\repositories\MyApps\trunk\App1
    

    您不应该使用
    文件://
    协议。永远,永远,永远。好吧,有时可以使用它,但只有在以下所有条件都成立的情况下才应该使用:

    • 您是唯一使用存储库的人
    • 存储库位于您的系统上
    • 你正在尝试颠覆
    如果您的存储库位于远程系统上。不要使用
    文件://
    。如果这是公共存储库,则不使用
    文件://
    svnserve
    Subversion服务器进程非常易于设置和使用。而且,它速度快,避免了与直接访问存储库相关的所有问题和错误。事实上,在我的系统上的私有存储库中,我使用了
    svnserve


    至少有十几个错误可能会突然出现,导致您指出的问题。服务器需要权限,在现代Windows系统上,即使您以管理员身份登录,也可能存在UAC问题。这简直是自找麻烦

    请查看用于设置的文档。您将遇到的最大问题是确保您的IT部门没有阻塞端口3690

    在远程服务器上运行svnserve进程,并确保服务器进程对存储库中的所有文件具有完全所有权和所有权限

    Unable to open an ra_local session to URL 
    Unable to open repository 'file://REMOTE-PC/repositories/MyApps/trunk/App1' 
    Can't open file '\\REMOTE-PC\repositories\MyApps\trunk\App1\format': Logon 
    failure: unknown user name or bad password.
    
    关于
    svnserve
    进程,有几个问题不允许它开箱即用:

    • 编辑
      conf/svnserve.conf
      文件
      :默认情况下,该文件非常好。但是,默认密码文件被注释掉。删除您在
      密码db=passed
      行前面看到的
      #
      。我不知道为什么这不是默认值。您还可以设置
      领域的名称。那没必要

    • 编辑
      passwd
      文件
      :您需要为每个用户设置用户名和密码。就照这个例子去做吧

    然后运行
    svnserve
    ,现在您可以通过以下方式访问存储库:

    $ svn ls svn://REMOTE-PC/MyApps/trunk/App1
    

    这是很容易做到的(整个事情可以在几分钟内设置),并将消除您的所有问题

    您不应该使用
    文件://
    协议。永远,永远,永远。好吧,有时可以使用它,但只有在以下所有条件都成立的情况下才应该使用:

    • 您是唯一使用存储库的人
    • 存储库位于您的系统上
    • 你正在尝试颠覆
    如果您的存储库位于远程系统上。不要使用
    文件://
    。如果这是公共存储库,则不使用
    文件://
    svnserve
    Subversion服务器进程非常易于设置和使用。而且,它速度快,避免了与直接访问存储库相关的所有问题和错误。事实上,在我的系统上的私有存储库中,我使用了
    svnserve


    至少有十几个错误可能会突然出现,导致您指出的问题。服务器需要权限,在现代Windows系统上,即使您以管理员身份登录,也可能存在UAC问题。这简直是自找麻烦

    请查看用于设置的文档。您将遇到的最大问题是确保您的IT部门没有阻塞端口3690

    在远程服务器上运行svnserve进程,并确保服务器进程对存储库中的所有文件具有完全所有权和所有权限

    Unable to open an ra_local session to URL 
    Unable to open repository 'file://REMOTE-PC/repositories/MyApps/trunk/App1' 
    Can't open file '\\REMOTE-PC\repositories\MyApps\trunk\App1\format': Logon 
    failure: unknown user name or bad password.
    
    关于
    svnserve
    进程,有几个问题不允许它开箱即用:

    • 编辑
      conf/svnserve.conf
      文件
      :默认情况下,该文件非常好。但是,默认密码文件被注释掉。删除您在
      密码db=passed
      行前面看到的
      #
      。我不知道为什么这不是默认值。您还可以设置
      领域的名称。那没必要

    • 编辑
      passwd
      文件
      :您需要为每个用户设置用户名和密码。就照这个例子去做吧

    然后运行
    svnserve
    ,现在您可以通过以下方式访问存储库:

    $ svn ls svn://REMOTE-PC/MyApps/trunk/App1
    

    这是很容易做到的(整个事情可以在几分钟内设置),并将消除您的所有问题

    使用Subversion,您的库对用于存储“存储库”的文件有严格的要求。SMB服务/Windows共享/Samba不满足这些要求

    决不能通过跨网络共享使用
    文件://
    协议来隐藏subversion的网络。这意味着网络故障和中断不会触发subversion意识到更改可能未正确存储。根据变化和环境的不同,这可能会对环境产生非常坏的影响