更新时无法解决Subversion 1.7校验和不匹配错误

时间:2014-10-23 14:02:35

标签: svn checksum mismatch

My Subversion 1.7.17工作副本对特定文件不满意但无法更新。任何更新尝试都会给我带来同样的错误,即使我删除了文件或删除目录:

Updating 'trunk/src/Makefile':
svn: E155017: Checksum mismatch for '/Volumes/project/dev/torc/trunk/src/Makefile':
   expected:  78ee11ff73f3b68c903db838b6667ec3
   recorded:  62bbbf4362958e3fd42470650d5b4eb6

我已阅读SVN - Checksum mismatch while updating,其两个主要解决方案是修改.svn/entries或删除和恢复目录。在1.7下的顶级.svn/entries文件中没有任何用处,删除和恢复目录并没有解决我的问题。有人有其他建议吗?

4 个答案:

答案 0 :(得分:5)

这可能是一个较旧的问题,但我想分享我如何解决它而不检查整个(多个GB)存储库。我希望它可以帮助那些有同样问题的人。

我在Windows上使用TortoiseSVN。

  1. 右键单击文件的父文件夹并选择TortoiseSVN>打开 Repo-Browser 。库浏览器
  2. 在回购浏览器中,右键单击您的文件,选择将项目更新为修订
  3. 在下拉菜单更新深度中,选择排除,然后单击“确定”。这将从本地存储库数据库中删除校验和条目。
  4. 删除资源管理器(垃圾箱)中的文件,更新存储库
  5. 返回“更新项目到修订版”,更新深度选择工作副本
  6. 再次更新您的存储库
  7. 一切都应该恢复正常。

答案 1 :(得分:1)

在我的情况下,问题在于.svn / pristine文件夹的损坏,我通过用干净的工作副本替换整个文件夹来解决它。

我在Cygwin下使用SVN 1.8.4。

解决问题的步骤:

  • 备份修改,如果有的话
  • 备份.svn / pristine(在w.c.的根文件夹中遇到麻烦)
  • 准备参考w.c :(' svn commit / revert; svn update')
  • 使用参考文献w.c。
  • 替换.svn / pristine
  • 享受:)

答案 2 :(得分:1)

我正在使用Subversion 1.7+客户端(Tortoise),并通过两个简单的执行解决了这个问题:

一个。 svn update --set-depth = empty

湾svn update --set-depth = infinity

请提醒步骤a将删除此文件夹中的所有本地文件!所以请记住先复制一份。

答案 3 :(得分:0)

这很容易。将计算机中的问题文件复制到其他目录。从您的机器中删除问题文件并提交。在服务器上创建一个svn。现在,将文件返回到inicial目录,进行添加和提交。并在服务器上创建一个新的svn。问题解决了。