更新后,TortoiseSVN 1.71和VisualSVN 2.51将无法连接

use*_*944 3 svn tortoisesvn visualsvn visualsvn-server

我几天前在同一时间将VisualSVN更新为v2.51,将TortoiseSVN更新为1.7.1.在更新之前,使用subversion工作好几个月.自更新以来,我无法连接到存储库.

操作系统是Win7家庭高级版64位,安装了Visual Studio Web Developer Express 2010,所有Windows更新都已自动应用,我使用的是apache服务器与SSL的连接,这与之前的工作方式相同.从VisualSVN浏览存储库也可以正常工作.

为了以简单的方式演示问题,我使用命令提示符会话尝试列出存储库中的文件并获得如下所示的错误:

C:>svn ls "https://robert-pc/svn/Scedule/"  --username xxx --password yyy<br>
svn: E175002: Unable to connect to a repository at URL 'https://robert-pc/svn/Schedule'
svn: E175002: OPTIONS of 'https://robert-pc/svn': Could not resolve hostname 
`https://robert-pc/svn/': No such host is known.
(https://robert-pc)
Run Code Online (Sandbox Code Playgroud)

如果我尝试从Windows资源管理器中使用TortoiseSVN,则会出现相同的错误.基于2009年11月类似问题的答案,我尝试了以下方法但没有成功:

  • 指定计算机名称中的端口号,例如, svn ls https://robert-pc:8443/svn/Schedule/
  • 允许SVN.exe(与VisualSVN一起安装的)通过Windows防火墙.

我已经卸载并重新安装了VisualSVN和TortoiseSVN.我没有看到其他人使用VisualSVN v2.51和TortoiseSVN v1.7.1遇到问题.我想知道问题是Windows网络的配置方式.网络是一个简单的本地网络,在Windows 7 Home Premium下配置为工作网络.任何帮助是极大的赞赏.

我可以从命令提示符会话成功ping robert-pc.我可以从IE成功浏览存储库,如下所示:https:// robert-pc:8443/svn /
(我从IE获得证书警告,我继续,然后输入用户名和密码.)

Laz*_*ger 7

你的问题不是VisualSVNServer或TSVN,它是用纯英文写的

无法解析主机名`https:// robert-pc/svn /':没有这样的主机是已知的.

无法解析主机名意味着ping robert-pc在投诉连接之前,您必须至少在没有错误的情况下进入Windows

我不知道,robert-pc之前从哪个源解决过,现在谁破坏了它,但你必须恢复旧的设置(主机,本地DNS服务器)

  • 这是一个很好的建议,但没有解决我的问题.我可以ping robert-pc并且仍然有问题. (2认同)

use*_*944 5

这个问题花了我很多时间,我将在这里描述我如何最终Subversion再次工作,以防它可以帮助某人.我卸载VisualServerTortoiseSVN.卸载后,我也删除了一些剩余的配置注册表项和文件:

  • HKEY_CURRENT_USER\Software\Tigris.org\Subversion Server\Global下的子键具有与主机名相关的设置.
  • HKEY_CURRENT_USER\SOFTWARE\TortoiseSVN的
  • C:\用户\罗伯特\应用程序数据\漫游\ TortoiseSVN的
  • C:\用户\罗伯特\应用程序数据\漫游\颠覆

我认为真正有用的是在重新安装之前摆脱旧的配置条目.后重新安装VisaulSVNTortoiseSVN,现在可以使用存储库.我希望我确切地知道问题是什么,但我不知道.我怀疑工作目录的SVN数据已损坏,因为我试图通过使用该TortoiseSVN Relocate命令重新定位工作目录,以便在我收到错误时无法连接到主机(BIG MISTAKE)来定义主机名.

其余的提供可能不感兴趣的细节,除非他们可能会给你一个关于恢复细节的线索.

首先,我重新安装VisualSVN并将其配置为在C:\ Repositories中有一个空根,通过重命名保存以前的存储库文件夹及所有数据.我使用命令会话中的SVN命令创建单个测试存储库,并成功将测试文件添加到存储库,以查看基础知识是否有效.在安装过程中,主机名设置为http:// robert-pc:81 /,以防https:导致我遇到困难(事实证明,https:不是问题).

然后我将实际数据放回C:\ Repositories并使用命令会话中的svn客户端成功检出了包含大量文件的存储库.这个检查让我看到无法检出对其他存储库的一些外部引用,因为主机名是https:// robert-pc 用于外部引用.使用VisualSVN,我设置的主机连接使用httpsport 443,并再次检查了,如下图所示:

  • 从VisualSVN中,选择"属性">"网络"选项卡
  • 服务器名称:robert-pc(与以前相同)
  • 服务器端口:443
  • 选中"使用安全连接(https://)"框,然后单击"确定".
  • 使用命令行再次签出.
  • 启动命令会话.
  • 将目录更改为将从存储库复制文件的空目录.
  • svn checkout https:// robert-pc/Schedule/branches/MySql(我的情况示例,请注意主机名后的路径区分大小写).
  • 仅在提示进行域身份验证时输入Windows用户的密码一次.
  • 永久接受证书查询.
  • 输入VisualSVN中定义的用户的用户名和密码,因为使用SVN身份验证.(顺便说一句,我认为Windows身份验证也很好.)
  • 所有文件都已成功检出

接下来我安装了TortoiseSVN,可以正常使用它.令人惊讶的是,我可以使用我原来的工作副本而不是我从存储库中检出的副本.这很好,因为我的工作副本尚未提交更改.