记 SVN checkout 提示 The XML response contains invalid XML 的解决办法
前
解决问题花了4~5个小时,吐槽下公司的网络,作为外企打不开 Google? 好吧政策问题忍了,有防火墙大部分网页都打不开,Bing 搜索结果一整页一个链接也打不开? 最后还要用自己的流量。下个工作一定先问:您公司网络能打开 Google 不,不能用就拜拜吧您呐。
背景
备份文件 A.dump 需要恢复,但无论用使用命令 svnadmin load 还是使用 VisualSVN Server GUI 的 import,最后在客户端 checkout 都会提示 The XML response contains invalid XML。
解决过程
- 为了排除 VisualSVN Server 的版本问题,尝试使用客户端的 SVN 新建 repository 然后导入,发现一切正常,为方便叙述将此 repository 定为 B repo。
- 尝试将 B repo 备份为 dump 文件然后导入 VisualSVN Server 中,问题依旧。
- 尝试将 B repo 做为 exist repo 直接恢复到 VisualSVN Server 中,问题依旧。
- 尝试将 B repo 的文件直接复制到 VisualSVN Server 的库目录下,问题依旧。
- 上述尝试未果,但是发现提示错误是在 checkout 的中途,所以猜测可能是某个文件导致的异常,接下来验证猜想,尝试定位出错的文件。最后发现( source code 那么多,鬼知道我经历了什么)单独 checkout C.h 时会提示 The XML response contains invalid XML 错误。
- 既然恢复到 B repo 的情况下可以 checkout ,而且文件本身无问题,那是否说明问题出现在 VisualSVN Server 的 repo 和 B repo 的实现有差异呢?或者说在上一次 commit 时 C.h 由于一些未知的原因 commit 失败(异常),而两种不同实现的方式上对于 C.h 的问题一个敏感、一个兼容从而引发了以上的现象呢?
验证猜想
A. 用 B repo checkout C.h
B. 将 C.h 文件头部添加空行然后 commit
C. 用前面叙述的方法 2 、3、4将 B repo 恢复到 VisualSVN Server 上
D. 从 VisualSVN Server checkout C.h ,无问题
后
作为兼职 Confidential A server 的管理员+运维,莫名感觉自己作用大大的、不可替代,然后看看工资条,别理我让我哭一会。
过程中省略了实际过程中一些无用的环节。在用手机查找相关问题时,居然有提到重置 tcp/ip 链接可以好用那么一小会,当时我那心情.....
Reference
EOF
评论框君很顽皮,需要科学上网才能看到哦!~
关注微信公众号(MarIxs)也能联系到我哦!