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+,那么这里有一个解决方法。

回顾一下:

  1. 转到与文件导致问题的文件夹
  2. 执行命令svn update --set-depth empty (注意:这会删除你的文件,所以先复制一份!)
  3. 执行命令svn update --set-depth infinity

这些步骤对我来说效果很好

  1. 转到与文件导致问题的文件夹

  2. 执行命令svn update --set-depth empty (注意:这会删除你的文件,所以先复制一份!)

  3. 执行命令svn update --set-depth infinity

但是谁能告诉我为什么会发生这种情况? 任何特定的根本原因,因为我有一个非常大的回购,并一直这样做是艰难的,新鲜结帐不是一个选项,因为回购是大的。

我发现了一个更简单的方法来解决这个问题。 你不能直接从Eclipse中做到这一点。 脚步:

  1. 在窗口中导航到工作区文件夹结构
  2. 重命名文件夹
  3. 在eclipse中刷新
  4. 现在该文件夹和文件将被从Eclipse中的项目中删除,并将出现在新的重命名文件夹下
  5. 现在尝试“与资源库同步”选项。

这将恢复.svn文件夹中的文本文件夹。 更新错误时校验和不匹配不会再出现。

我有一个很好的问题。 主要供应商是防病毒“FortiClient”(防病毒+ VPN客户端)。 当我禁用它 – 所有更新/结帐都正确

这发生在我使用Eclipse插件和同步。 导致问题的文件没有本地更改(实际上自从上次更新以来没有发生远程更改)。 我select了“还原”文件,没有其他修改的文件,东西恢复正常。

我有一个相同的错误,但一个文件。 在IntelliJ IDEA中,我能够复制文件,然后进入项目并删除相关文件,然后成功提交。 然后,我创build了一个具有相同名称的新文件,并将其内容复制回来。 我想你会失去修订历史,但它确实有效。

要解决此问题,请遵循以下步骤

  1. 打开位于.svn目录中的错误的条目文件。
  2. find文件给出错误的条目,并用错误的实际值replace期望的值。
  3. 现在同步并尝试更新。

如果它仍然不起作用。 试试这些。 它只是一个解决方法,但:

  1. 从您的系统中删除文件。
  2. 从条目文件中删除文件的条目。 (从文件名到特殊字符开始)。
  3. 现在同步并更新文件。

这将从存储库获取最新版本的文件,所有冲突将被解决。

在服务器上有类似的问题,但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是:

  1. 从文件系统执行svn清理
  2. 切换到另一个分支
  3. 解决冲突
  4. 切换到“问题”分支
  5. 从Spring Tool Suite执行清理
  6. 执行项目更新