2009-07-20 41 views
4

我无法弄清为什么我在登记过程中遇到这个错误。我在成功的检查仅仅几个小时前,所以不知道为什么现在它的抱怨龟签入错误校验和不匹配

Error: Commit failed (details follow): 
Error: Checksum mismatch for 
Error: 'C:\sss\sss\trunk\xxxx\.svn\text-base\Header.ascx.svn-base'; expected: 
Error: '3cee96f580409a1711a47541a07860dd', actual: 'a5fc0f8819b88bf32ab38d4c9a6b0654' 
Error: Try a 'Cleanup'. If that doesn't work you need to do a fresh checkout. 

我得到了最新的,也进行了清理它说,成功的所以不知道还能做什么。

回答

9

某些东西已经不同步或已经损坏,并且因为它位于.svn BASE目录中,除非您有信心修补此问题,否则最好删除.svn目录的父目录,然后执行更新。当然,在做这件事之前先进行一次备份或查看一次导出是否有效,这样你就不会失去任何改变。

FWIW,我有时会用Visual Studio的库引用来得到它,因为Visual Studio似乎对某些文件保持锁定(即使它没有编译),也不会让我更新它们。我相信这与xml文档文件有关。

注意:Subversion 1.7+实现了一个新的集成了元数据的working copy approach,它现在在工作副本的根目录下有一个.svn目录。最好的选择是清理,如果没有新的检出到另一个目录并导出或将文件复制到除.svn目录之外的已损坏的工作副本,重新签出并提交任何本地更改。

3

看起来像你的一个SVN文件已损坏。首先,检入所有可以安全检查的内容,并确保备份所有内容。然后修复有问题的文件 - 通常这包括从您的存储库中删除它。如果你正在检查新版本,这应该没问题。

+1

您确定需要将其从存储库中删除吗?它看起来只是工作副本是腐败的。此外,该文件是.svn中的BASE副本,通常您不想混淆该目录。 – si618 2009-07-20 23:20:48

+0

我同意。最好删除父母并重新更新。 – bkritzer 2009-07-20 23:40:43

+0

但是当我在基地提交时,如何检查它是否是原子提交? – PositiveGuy 2009-07-21 13:36:09

0

我们的项目存储库移动到新的服务器后,我收到了类似的错误。尝试恢复文件并重新应用更改。

0

我在Google搜索一些帮助后发现了相同的问题,发现文章建议覆盖.svn \ entries文件中的校验和。但在该文件中,校验和实际上与错误消息中预期的一样。

为了解决这个问题,我导航到.svn \ text-base问题文件目录的目录,并发现有一个文件的副本,我试图检查更改。我在Notepad ++中打开了该文件,并将其内容替换为要提交的文件的内容,之后我才能提交。

但为了以防万一,请制作.svn \ text-base文件的备份副本。 我认为这是因为我在提交之前进行了svn更新,因为它抱怨说我的版本已过时。无论如何,这是固定的我希望我的解决方案也可以帮助别人。