无法读取块大小。SVN中的错误

无法读取块大小。SVN中的错误,svn,tortoisesvn,visualsvn-server,Svn,Tortoisesvn,Visualsvn Server,我已经从崩溃的PC中恢复了SVN存储库,现在我可以从几个目录中签出文件,但在签出过程中有一个地方显示: Error: REPORT of '/svn/RepTest/!svn/vcc/default': Could not read chunk size: Secure connection truncated (https://mypc:8443) 谁能帮助我,如何修复该存储库? 谢谢 退房时,我也犯了同样的错误。问题确实出在具体的修改上,所以我做了一个变通办法。 引起错误的修订似乎有很

我已经从崩溃的PC中恢复了SVN存储库,现在我可以从几个目录中签出文件,但在签出过程中有一个地方显示:

Error: REPORT of '/svn/RepTest/!svn/vcc/default': Could not read chunk size: 
Secure connection truncated (https://mypc:8443) 
谁能帮助我,如何修复该存储库?
谢谢

退房时,我也犯了同样的错误。问题确实出在具体的修改上,所以我做了一个变通办法。 引起错误的修订似乎有很长的路要走。再看一眼具体的修订版,我就认为它可能不需要进行源代码控制。这些文件是在每次构建时自动生成的。我只是将整个目录的另一个副本保存在一个“弃用”文件夹中,并删除了有问题的文件/文件夹。
删除后,签出是正常的。

我刚刚在尝试将签出更新为最新版本时遇到了相同的错误。有人胡乱摆弄,发现是一个特定的文件导致了这个问题。例如:

root
  - A
    - AFileInFolderA.h
    - AnotherFileInFolderA.h
  - B
    - AFileInFolderB.h
  - C
    - AFileInFolderC.h
对于上面的回购结构,
AFileInFolderA.h
是问题文件。我得出这个结论是因为我可以在文件夹
B
C
中执行和
svn更新,但不能在
root
或文件夹
A
上执行。进一步深入,我可以更新另一个文件infoldera.h,但不是问题文件


无论如何,有了这些信息,我从文件夹
A
复制了我的工作副本更改,然后(使用乌龟SVN)在根文件夹上选择性地更新到修订版,不包括我签出的文件夹
A
。然后我做了相反的操作,将文件夹重新添加到签出中。最后,我将我的本地更改添加回,并承诺进行回购。现在一切正常。

我最近也犯了同样的错误:

“/svn/…”的报告!svn/vcc/default':无法读取区块大小: 安全连接被截断

我们使用的是乌龟SVN,我是团队中唯一一个出现问题的人。因为这个问题并没有阻止我提交我的更改,所以我就这么做了。接下来,我从硬盘上删除了包含项目的文件夹。然后我再次创建了它并进行了“SVN签出”


这就是我修复它的原因。

对于我们来说,问题是SVN历史记录中缺少文件(可能是磁盘损坏)。任何操作(包括最近更改来自历史缺失部分的文件)都将失败,并出现“无法读取区块大小”错误或无效XML错误(取决于操作)。
幸运的是,我们有一个备份,其中包括丢失的文件。修复它们修复了问题

我也遇到过类似的问题,“svnadmin recover”确实神奇地解决了这些问题


在另一次回购中,它不会。。。使用SVN client(MacOSX)版本,我可以看到行为不正常目录中某些文件的提交用户名是“#####ERROR###”—这些目录在更新时给了我“安全连接被截断”的问题。只需将带有此标记的文件“移动”到另一个目录中并返回(在服务器上,通过版本SVN客户端),就足以删除“错误”标记并启用成功更新。

有相同问题的人的另一个答案,但有一个解决方案尚未提及:

在我的案例中,问题无法精确定位到单个文件。然而,它显然与单个svn版本有关

这种情况下的解决方案是跳过获取错误的修订。这可以通过使用
-r
选项调用
git svn fetch
来实现。例如,如果
r42
是错误的修订版,并且您已经获取了
r41
之前的所有修订版,只需执行以下操作即可

git svn fetch -r43

git svn fetch

使您的git存储库更新。当然,这种方法的明显缺点是历史上的漏洞,但我认为历史上有一个小漏洞比没有一个可用的
git svn
克隆要好。

我的同事和我有同样的问题,我们做了什么来修复它:

  • 在svn服务器上,我们使用
    fsck
    (我们的服务器Linux发行版运行)检查了带有存储库的分区文件系统的错误
  • 已将存储库目录复制到备份
  • 通过
    svnadmin validate/path/to/repository
    验证存储库

  • 完成这些步骤后,问题已经解决。

    您是否在存储库上运行了“svnadmin recover”?是的,它显示:svnadmin:Recovery completed。但在签出相同错误时,请检查VisualSVN服务器日志。在事件查看器->应用程序和服务->VisualSVN服务器中有我们刚刚看到的。由于出现故障,我们的SVN服务器必须从备份中恢复,因此我们的本地副本更为最新。我们试图提交例如1220版,但服务器(由于恢复)仅为1215版。“chunk size”错误是客户端产生的,但检查事件查看器为我们提供了有关版本不同步的更多线索。如何识别它被卡住的版本?@JaySullivan这是一个棘手的部分:
    git svn fetch
    的输出没有显示错误发生时的版本,因此,您必须依靠git svn fetch
    按顺序获取修订。我认为,除非你有第一个
    git svn fetch
    的日志,其中包含成功获取的最后一个修订号,否则只有两种方法可以找到:1。通过
    git svn find rev
    或2检查所有获取的分支的svn版本。重新启动整个
    git svn
    克隆过程以获取该日志。抱歉,我不知道更好的方法。这与svn2git工具一起使用。我需要跳过一个坏版本,只需运行git svn fetch-rXX,然后重新启动svn2git