从网络签出SVN存储库
我以前也问过类似的问题。当时我使用的是服务器的VM副本,我列出的解决方案有效。这次我使用的是实际的服务器,签出存储库时遇到问题从网络签出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
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:/// | 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意识到更改可能未正确存储。根据变化和环境的不同,这可能会对环境产生非常坏的影响