Tortoise Check-in error Checksum mismatch

时间:2009-07-20 23:00:45

标签: tortoisesvn

我无法弄清楚我在办理登机手续时遇到此错误的原因。我几个小时前才成功登记,所以不确定为什么现在抱怨

Error: Commit failed (details follow):  
Error: Checksum mismatch for   
Error: 'C:\sss\sss\trunk\xxxx\.svn\text-base\Header.ascx.svn-base'; expected:   
Error: '3cee96f580409a1711a47541a07860dd', actual: 'a5fc0f8819b88bf32ab38d4c9a6b0654'  
Error: Try a 'Cleanup'. If that doesn't work you need to do a fresh checkout.  

我得到了最新消息并且还进行了清理工作,表示成功,所以不知道还能做什么。

5 个答案:

答案 0 :(得分:9)

某些内容已经不同步或已经损坏,并且因为它位于您的.svn BASE目录中,除非您有信心修补此问题,否则最好删除.svn目录的父目录,然后执行更新。当然,在执行此操作之前,请先备份或查看导出是否有效,这样您就不会丢失任何更改。

FWIW,我有时会使用我们的库引用,其中Visual Studio似乎会锁定某些文件(即使它没有编译),也不会让我更新它们。我相信这与xml文档文件有关。

注意:Subversion 1.7+实现了一个新的working copy approach,它集中了元数据,现在它在工作副本的根目录下有一个.svn目录。您最好的选择是清理,无法将新的签出导入另一个目录并导出或文件复制损坏的工作副本(.svn目录除外),以及新的签出,并提交任何本地更改。

答案 1 :(得分:3)

看起来您的某个SVN文件已损坏。首先,签入可以安全检查的所有内容,并确保备份所有内容。然后修复有问题的文件 - 通常这涉及从存储库中删除它。如果您正在检查新版本,这应该没问题。

答案 2 :(得分:0)

我们的项目存储库移动到新服务器后,我收到了类似的错误。尝试还原文件并重新应用更改。

答案 3 :(得分:0)

我在google搜索一些帮助后发现同样的问题,建议覆盖 .svn \ entries 文件中的校验和。但在该文件中,校验和实际上是错误消息中的预期校验和。

要解决此问题,我导航到问题文件目录的 .svn \ text-base 目录,发现我试图检查更改的文件的副本。我在Notepad ++中打开该文件,并将其内容替换为要提交的文件的内容,之后我能够提交。

但为了以防万一,请制作 .svn \ text-base 文件的备份副本。 我想这是因为我在提交之前做了一个svn更新,因为它抱怨我的版本已经过时了。无论如何,这对我来说是固定的,希望我的解决方案能够帮助别人。

答案 4 :(得分:0)

对于Tortoise SVN,我选择删除Repo Browser中的文件。

首先备份问题文件。并使用Repo Browser删除其中的问题文件,然后更新本地文件夹,以便删除本地文件夹中的文件。然后复制回备份文件和Add > Commit,然后我就可以成功更新了。

此方法的缺点是此文件的历史记录将被删除。

另请参阅another post