繁体   English   中英

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

[英]Cannot resolve Subversion 1.7 checksum mismatch error on update

我的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 - 更新时校验和不匹配 ,其两个主要解决方案是修改.svn/entries或删除和恢复目录。 在1.7下的顶级.svn/entries文件中没有任何用处,删除和恢复目录并没有解决我的问题。 有人有其他建议吗?

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

我在Windows上使用TortoiseSVN。

  1. 打开通过右键单击库浏览器上的文件的父文件夹,选择TortoiseSVN的>库浏览器
  2. 在repo-browser中,右键单击文件,选择Update item to Revision
  3. 在“下拉菜单更新深度”中 ,选择“ 排除” ,然后单击“确定”。 这将从本地存储库数据库中删除校验和条目。
  4. 删除资源管理器(trashbin)中的文件,更新存储库
  5. 返回“将项目更新到修订版本”,对于“更新深度”,选择“ 工作副本”
  6. 再次更新您的存储库

一切都应该恢复正常。

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

我在Cygwin下使用SVN 1.8.4。

解决问题的步骤:

  • 备份修改,如果有的话
  • 备份.svn / pristine(在wc的根文件夹中遇到麻烦)
  • 准备参考wc :('svn commit / revert; svn update')
  • 用引用wc替换.svn / pristine有问题
  • 请享用 :)

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

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

svn update --set-depth = infinity

请注意,步骤a将删除此文件夹中的所有本地文件! 所以请记住首先制作副本。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM