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

更新后将无法连接OrtoiseSVN 1.71和VisualSVN 2.51,svn,tortoisesvn,visualsvn,visualsvn-server,Svn,Tortoisesvn,Visualsvn,Visualsvn Server,几天前,我同时将VisualSVN更新为v2.51,将OrtoiseSVN更新为1.7.1。在更新之前,使用subversion已经好几个月了。自从更新以来,我一直无法连接到存储库 操作系统是Win7 Home Premium 64位,安装了Visual Studio Web Developer Express 2010,所有Windows更新都已自动应用,并且我使用了带有SSL的apache服务器连接,这与以前的工作方式相同。从VisualSVN浏览存储库也可以 为了以简单的方式演示此问题,我

几天前,我同时将VisualSVN更新为v2.51,将OrtoiseSVN更新为1.7.1。在更新之前,使用subversion已经好几个月了。自从更新以来,我一直无法连接到存储库

操作系统是Win7 Home Premium 64位,安装了Visual Studio Web Developer Express 2010,所有Windows更新都已自动应用,并且我使用了带有SSL的apache服务器连接,这与以前的工作方式相同。从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)
C:>svnls”https://robert-pc/svn/Scedule/“--用户名xxx--密码yyy
svn:E175002:无法连接到URL'处的存储库https://robert-pc/svn/Schedule' svn:E175002:选项'https://robert-pc/svn“:无法解析主机名 `https://robert-pc/svn/“:不知道这样的主机。 (https://robert-pc)
如果我尝试从Windows资源管理器中使用TortoiseSVN,也会出现相同的错误。 根据2009年11月一个类似问题的答案,我尝试了以下方法,但没有成功:

  • 在计算机名称中指定端口号,例如,
    svn lshttps://robert-pc:8443/svn/Schedule/
  • 允许SVN.exe(与VisualSVN一起安装的)通过Windows防火墙
我已卸载并重新安装VisualSVN和TortoiseSVN,但没有可用的版本。我不认为其他人在使用VisualSVN v2.51和OrtoiseSVN v1.7.1时遇到过问题。我想知道问题是否在于Windows网络是如何配置的。该网络是在Windows 7 Home Premium下配置为工作网络的简单本地网络。非常感谢您的帮助

我可以成功地从命令提示符会话ping robert pc。我可以从IE成功浏览存储库,如下所示:

(我从IE收到一个证书警告,我继续执行,然后输入用户名和密码。)

您的问题不是VisualSVNServer或TSVN,而是用纯英语编写的

无法解析主机名`https://robert-pc/svn/“:没有这样的主机 知道

无法解析主机名意味着您必须在连接之前在Windows中至少无误地ping robert pc


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

我确实认为您的问题与服务器和客户端上对Subversion 1.7的更改以及证书的问题有关。因为您可以使用URL
https://robert-pc:8443/svn/
,它是(在上下文或您的PC中)一个有效的URL,Subversion客户端和TortoiseSVN应该可以使用它

尝试执行以下操作以找到问题的真正根源:

  • 打开一个OrtoiseSVN回购浏览器,在URL行中输入上面的URL
  • 查看可编辑的文件:
    TortoiseSVN>Settings>Network>Subversion server file>Edit
    ,并查看
    global
    部分。您可以在那里指定SSL证书的存储位置
  • 检查您的目录
    \ApplicationData\Subversion\auth
    ,其中存储了一些身份验证数据。尝试删除数据,然后访问存储库(使用浏览器中的有效URL)。
  • 删除目录
    auth
    (与
    TortoiseSVN>设置>保存的数据>验证数据>清除相同)
  • 打开命令shell并输入:
    svn log
  • 应该会显示警告(
    验证服务器证书时出错
    )和一些选项,以及现在要执行的操作
  • 在那里接受服务器证书
  • 阅读如何在客户机中使用SSL中的文档,也许有一些信息可以帮助您

这个问题花费了我太多的时间,我将在这里描述我最终如何让
Subversion
再次工作,以防它可能会帮助别人。我卸载了
VisualServer
TortoiseSVN
。卸载后,我还删除了一些剩余的配置注册表项和文件:

  • HKEY\U当前用户\Software\Tigris.org\Subversion Server\Global下的子项具有与主机名相关的设置。
  • HKEY\U当前用户\软件\乌龟VN
  • C:\Users\Robert\AppData\Roaming\TortoiseSVN
  • C:\Users\Robert\AppData\Roaming\Subversion
我认为真正有帮助的是在再次安装之前去掉旧的配置条目。重新安装
VisaulSVN
TortoiseSVN
后,现在可以使用存储库。我希望我知道到底是什么问题,但我不知道。我怀疑工作目录的SVN数据已损坏,因为我试图使用
TortoiseSVN
relocate
命令重新定位工作目录,以便在收到无法连接到主机的错误时定义主机名(大错误)

其余部分给出了可能不感兴趣的细节,除非它们可能给你一个关于复苏细节的线索

首先,我只重新安装了
VisualSVN
,并将其配置为在C:\Repositories上有一个空根,通过重命名保存了先前的Repositories文件夹和所有数据。我使用命令会话中的SVN命令创建了一个测试存储库,并成功地向存储库添加了一个测试文件,以确保基本功能正常工作。主机名已设置为http://robert-pc:81/ 在安装过程中,以防https:给我带来麻烦(结果证明https:不是问题)

然后我把真实的数据放回C:\Repositories并成功
netsh winsock reset