2012-05-15 56 views
2

我们的一些开发团队遇到了工作副本的问题,看起来wc.db数据库已损坏。有没有快速的方法来修复或重建数据库,而不是做一个新的结帐?重新创建SVN wc.db

该错误消息我得到的是“没有这样的表:wcroot”,而操作系统是Windows 7  使用TortoiseSVN 1.7.6。

即使这是一个特定的错误,当SQLite数据库除了执行完整结帐之外还损坏时,最佳选择是什么?

+0

请提供其他信息,如:确切的错误消息,svn客户端(+版本),svn服务器和操作系统 –

回答

2

SmartSVN提出了一种修复某些类型或wc.db损坏(修改|验证管理区域)的工具,从存储库中检索丢失/不正确的信息。我不确定它会有帮助,但只是尝试。

+0

谢谢,我会尝试SmartSVN。我希望找到一个我可以编写脚本的解决方案,或者至少可以在SVN中有一个命令来重做数据库。 –

3

简单,只是降级。

将所有元数据放入SQLite数据库是完全没有逻辑的; Subversion开发者并不那么光明。以前,您的.svn文件遍布您的结帐... .svn文件夹被拧紧;它偶尔会发生。简单:重命名,再次检查,合并本地更改 - 使用Subversion 1.7,解决方案是“请再次检查10G”。

如果你有一个大项目,像我一样(超过10   GB),并且你不能每月检查整个东西,那么降级Subversion。

+1

稀疏结账是你想要的。事实上,我还没有看到损坏的wc.db,并且在互联网上有很少的腐败报告。这就是说,我刚刚看过问题的日期! – gbjbaanb

+1

是的,这很少见,但我们的结账超过了150GB,而且这些都是稀疏的结账。真正的问题是缺乏良好的开源/免费内容管理,因为大多数大文件都是资产,我在电子游戏行业。 –

+0

@JohnBowker你需要做的就是使用subversion <1.7,到目前为止,这对我来说非常有效。 – thecarpy

0

不知道问题是什么,很难诊断。最简单的方法是执行新的结帐(然后复制或合并任何本地更改)。

有一些建议,你可以试试listed here

0

我有同样的问题,因为我的机器的原因是存储空间不足。 释放一些空间后,他们的问题消失了。