我已经从崩溃的PC恢复了SVN存储库,现在我可以从几个目录中检出文件,但在结账时在一个地方它说:
Error: REPORT of '/svn/RepTest/!svn/vcc/default': Could not read chunk size:
Secure connection truncated (https://mypc:8443)
有人可以帮助我,如何修复该存储库? 谢谢!
答案 0 :(得分:3)
我在尝试将结帐更新到最新版本时遇到了同样的错误。一些摆弄显示它是导致问题的一个特定文件。例如:
root
- A
- AFileInFolderA.h
- AnotherFileInFolderA.h
- B
- AFileInFolderB.h
- C
- AFileInFolderC.h
使用上面的repo结构,AFileInFolderA.h
是问题文件。我得出了这个结论,因为我可以在文件夹svn update
和B
中C
而不是root
或文件夹A
。进一步向下钻取,我可以更新AnotherFileInFolderA.h
但不能更新问题。
无论如何,掌握了这些信息后,我从文件夹A
复制了我的工作副本更改,然后(使用Tortoise SVN)在根文件夹上做了选择性更新到修订,不包括文件夹我的结帐时A
。然后,我反过来,将文件夹重新添加到结帐。最后,我将我的本地更改添加回来并致力于回购。现在一切正常。
答案 1 :(得分:2)
退房时我得到了同样的错误。问题确实是特定的修改,所以我做了一个解决方法。 似乎提出错误的修订有很长的路要走。对具体修订的另一种看法让我认为它可能不需要受源代码控制。这些文件是在每次构建时自动生成的。我只是在“Deprecated”文件夹中保留了整个目录的另一个副本,并删除了有问题的文件/文件夹。 删除后,结帐正常。
答案 2 :(得分:1)
我最近遇到了同样的错误:
'/svn/.../!svn/vcc/default'的报告:无法读取块大小: 安全连接被截断。
我们正在使用Tortoise SVN,我是团队中唯一遇到此问题的人。既然这个问题并没有阻止我做出改变,那我就是这样做的。接下来,我从硬盘驱动器中删除了包含项目的文件夹。然后我又创建了它并进行了“SVN结账”。
这就是为我解决的问题。
答案 3 :(得分:1)
有相同问题的人的另一个答案,但有一个尚未提及的解决方案:
在我的情况下,问题无法精确定位到单个文件。但是,它显然与单个svn版本相关联。
在这种情况下的解决方案是跳过获取错误修订。这可以通过使用git svn fetch
选项调用-r
来实现。例如,如果r42
是错误的修订版,并且您已经获取了r41
之前的所有修订版,那么只需执行
git svn fetch -r43
接着是
git svn fetch
让您的git存储库保持最新状态。当然,这种方法的明显缺点是你得到的历史漏洞,但我认为历史上有一个小洞比没有工作git svn
克隆更好。
答案 4 :(得分:0)
对我们来说,问题是缺少SVN历史记录中的文件(可能是磁盘损坏)。任何操作(包括最近更改来自历史记录的缺失部分的文件)都会因“无法读取块大小”错误或无效的XML错误(取决于操作)而失败。 幸运的是,我们有一个包含丢失文件的备份。恢复它们解决了这个问题。
答案 5 :(得分:0)
我有类似的问题,'svnadmin recover'确实神奇地解决了问题。
在另一个回购中,它不会...使用版本SVN客户端(MacOSX)我可以看到行为不当的目录中的某些文件的提交用户名是'### ERROR ###' - 这些dirs正在给出更新时出现“安全连接被截断”问题。只需将具有此标记的文件“移动”到另一个目录中(在服务器上,通过版本SVN客户端),就足以删除### ERROR ###标记并启用成功更新。
答案 6 :(得分:0)
我和我的同事都遇到了相同的问题以及我们如何解决该问题:
fsck
的错误(我们的服务器Linux发行版正在运行)。svnadmin validate /path/to/repository
验证的存储库。完成这些步骤后,问题就解决了。
答案 7 :(得分:-3)
我有同样的问题,我使用TortoiseSVN和VisualSVN,问题出在你的一个提交中,但是很难知道它是哪一个,我的解决方案是删除并在VisualSVN中创建存储库然后执行相同的操作到我的电脑上的“结账文件夹”,在此之后,将项目复制到该文件夹并进行“第二次提交”:)但将丢失所有以前的提交。