什么是SVN校验和不匹配的根本原因是什么?

几乎每一次我承诺SVN我不断收到校验和不匹配的错误。 我已经知道如何解决它(通过检出文件夹并删除旧的复制.svn文件夹)。 我想知道的是什么导致这个开始让我疯狂。

操作系统:Windows 7 SVN客户端:VisualSVN,TortoiseSVN

TortoiseSVN错误消息指出检出副本中的损坏

是的,这个错误是有点烦人..有多种原因可能发生,比如说网络坏了,停电,或者说文件损坏。 解决你的解决方法是解决这个错误afaik最好的方法..

更详细的原因和理论为什么会出现这个错误:(类似的问题,其中的MD5是空的;在你的情况下,它是一个不同的值比服务器上的什么)

修复SVN校验和

重命名损坏的文件在您的工作目录中

2.提交(它会从存储库中删除损坏的文件,并添加重命名的文件)

3.在您的工作目录中将文件重命名为原始名称

4.Commit

对我来说就像一个魅力,希望它有帮助。

我可以在不久前解决的方法是在问题文件所在的文件夹中打开一个命令解释器,然后执行以下命令:

svn update --set-depth empty svn update --set-depth infinity 

我不记得我在哪里找到解决方案,我想在哪里给我,但我不记得,我在shell命令历史中找到了这一点。

我有这样的错误。 我发现的最简单的解决方案是删除fil文件夹,然后在我选择的svn客户端中更新。

这将从服务器恢复校验和。

当然,唯一的问题是,你在上次提交之前所做的任何更改都将丢失。 如果它是一个简单的源文本文件,你可以将整个内容复制到记事本(或任何文本编辑器),更新svn,然后再次将源文本复制到文件并提交。

这一次发生在我的Eclipse eclipse插件,我犯了一些文件,然后点击取消按钮,当它正在进行。 然后我得到了和你一样的错误。 看来svn服务器已经收到提交的文件并更新了校验和,但是在我本地的svn中,这些文件仍然指向旧的校验和。

我的解决方案是删除/移动包含问题文件的文件夹,然后检出或再次更新文件夹。