SVN E712392。 SVN基本文件已损坏或无法读取

时间:2018-07-03 09:57:07

标签: svn tortoisesvn

我试图在我的工作副本上运行svn update。更新失败,产生以下错误。

E712392

.svn / pristine中的SVN基本文件似乎已损坏。不幸的是,工作副本很大,因此检出新的工作副本是不可行的。

有人可以解释该错误及其原因吗?我应该如何进行?

1 个答案:

答案 0 :(得分:1)

原始文件只是工作副本中文件的基本未修改副本。我已经过时了几年,但据我所知,它们仍然未压缩地存储,因此这里的任何损坏都可能是磁盘问题。

最简单的方法来修复此问题而无需进行完整的结帐是

  1. 通过签出查找其他人,然后从其原始文件夹中获取此文件。如果您需要复制整个原始文件夹,即存在其他问题,那么理想情况下,您应该将两个文件夹都签到同一修订版。

  2. 找出该文件是您自己再次签出同一文件。您需要查询sqlite数据库,例如从sqlite.org下载sqlite3,然后在您的.svn文件夹中运行

    sqlite3 wc.db
    select repos_path from NODES where checksum like '$sha1$b1807867%';
    

    十六进制数字从错误消息的开头开始。那应该给您文件损坏的路径。然后,您可以按照以下说明使用svn exportsvn checkout --depth=empty; svn update来获取文件:Checkout one file from Subversion,然后将其放入原始文件夹中。 (如果您使用checkout --depth = empty方法,则会得到一个具有正确文件名的原始文件夹。)

    我不确定确切的SQL在SVN版本之间的可移植性如何,但对我来说对于1.8和1.9都是正确的。