SVN – 更新时校验和不匹配
当我尝试从SVN更新某些文件时,出现错误:
org.tigris.subversion.javahl.ClientException: Checksum mismatch while updating 'D:\WWW\Project\\.svn\text-base\import.php.svn-base'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd669dce5300d7035eccb543461a961e'
我该如何解决?
修复它最简单的方法(如果你没有太多的改变)就是把你的修改复制到另一个目录,删除你的项目签出的目录,然后重新签出项目。
然后复制您的更改(不要复制任何.svn文件夹)并提交,然后继续。
如果你使用的是SVN 1.7+,那么这里有一个解决方法。
回顾一下:
- 转到与文件导致问题的文件夹
- 执行命令
svn update --set-depth empty
(注意:这会删除你的文件,所以先复制一份!) - 执行命令
svn update --set-depth infinity
这些步骤对我来说效果很好
-
转到与文件导致问题的文件夹
-
执行命令
svn update --set-depth empty
(注意:这会删除你的文件,所以先复制一份!) -
执行命令
svn update --set-depth infinity
但是谁能告诉我为什么会发生这种情况? 任何特定的根本原因,因为我有一个非常大的回购,并一直这样做是艰难的,新鲜结帐不是一个选项,因为回购是大的。
我发现了一个更简单的方法来解决这个问题。 你不能直接从Eclipse中做到这一点。 脚步:
- 在窗口中导航到工作区文件夹结构
- 重命名文件夹
- 在eclipse中刷新
- 现在该文件夹和文件将被从Eclipse中的项目中删除,并将出现在新的重命名文件夹下
- 现在尝试“与资源库同步”选项。
这将恢复.svn文件夹中的文本文件夹。 更新错误时校验和不匹配不会再出现。
我有一个很好的问题。 主要供应商是防病毒“FortiClient”(防病毒+ VPN客户端)。 当我禁用它 – 所有更新/结帐都正确
这发生在我使用Eclipse插件和同步。 导致问题的文件没有本地更改(实际上自从上次更新以来没有发生远程更改)。 我select了“还原”文件,没有其他修改的文件,东西恢复正常。
我有一个相同的错误,但一个文件。 在IntelliJ IDEA中,我能够复制文件,然后进入项目并删除相关文件,然后成功提交。 然后,我创build了一个具有相同名称的新文件,并将其内容复制回来。 我想你会失去修订历史,但它确实有效。
要解决此问题,请遵循以下步骤
- 打开位于.svn目录中的错误的条目文件。
- find文件给出错误的条目,并用错误的实际值replace期望的值。
- 现在同步并尝试更新。
如果它仍然不起作用。 试试这些。 它只是一个解决方法,但:
- 从您的系统中删除文件。
- 从条目文件中删除文件的条目。 (从文件名到特殊字符开始)。
- 现在同步并更新文件。
这将从存储库获取最新版本的文件,所有冲突将被解决。
在服务器上有类似的问题,但SVN目录非常大,不想删除和重新同步,所以我只是在本地做了一个副本的文件,然后删除它们。 当更新成功并添加文件时。
尝试删除该文件并从.svn目录下的文件条目中删除文件引用
我有一个类似的错误,并修复如下:
(我的'修复'是基于一个假设,可能是也可能不是正确的,因为我不知道如何颠覆如何在内部工作,但它肯定为我工作)
我假设.svn \ text-base \ import.php.svn-base预计将匹配最新的提交。
当我检查文件时,出现错误,基本文件与存储库中的最新提交不匹配。
我从最新的提交中复制了文本,并将其保存在.svn文件夹中,replace了不正确的文件(如果我的假设是错误的,则将其作为备份副本)。 (文件被标记为只读,我清除了该标志,重写并将其设置回只读)
那时我能够成功地提交。
如果你有一个同事和你一起工作:
1)要求他重命名导致问题和commit
的文件
2)你update
(现在你看到具有不同名称的校验和无效的文件)
3)将其重命名为原来的名称
4) commit
(并请求你的同事进行update
以获取初始状态下的文件名)
这解决了我的问题。
我发现非常好的解决scheme, 解决了我的问题。 诀窍是编辑svn DB(wc.db)。
该解决scheme在此页面上进行了描述: http : //www.exchangeconcept.com/2015/01/svn-e155037-previous-operation-has-not-finished-run-cleanup-if-it-was-interrupted/
如果链接已closures,请按照以下说明进行操作:
我使用了http://sqlitebrowser.org/的; sqlite工具。
我的解决scheme是:
- 从文件系统执行svn清理
- 切换到另一个分支
- 解决冲突
- 切换到“问题”分支
- 从Spring Tool Suite执行清理
- 执行项目更新