破碎的乌龟 SVN 存储库

Die*_*ego 0 tortoisesvn repository

我在旧计算机上有一些存储库(现在已经格式化),但我犯了一个错误,只是复制它们。现在我有一堆存储库,但无法进行任何结账。当我尝试时,我收到“没有此类修订”错误,每个存储库都有不同的数字。在某些情况下(我不明白为什么)在错误发生之前它会检查一些文件夹。

有什么办法可以恢复存储库吗?

谢谢!

小智 5

我遇到了同样的问题,提交后我无法访问我的本地网络驱动器存储的用 tortoise 创建的 SVN 存储库。

我收到“没有这样的修订版 108”。我花了一段时间才使用 WinMerge 将空存储库与旧存储库进行比较,并开始系统地删除文件,直到乌龟给了我任何东西。首先只有一个空存储库,然后我发现了问题......

由于某种原因,乌龟在本地存储库中所做的第一件事是将“db/current”文件中的当前修订号更新为最新的修订号,而不是分配新的修订文件并填充数据。如果进程被中断并且“当前”指向无效或不存在的修订号,就会出现问题。


长话短说:

我能够通过将给定编号的“db/current”文件编辑为有效修订版来“恢复”我的存储库(您可以在“revs/0/xxx”下找到有效编号,其中 xxx 是最新的。

这仅适用于本地创建的存储库。

为了将来克服这个问题,我强烈建议您像我所做的那样:不要将每个项目存储在一个存储库中,而是为每个项目创建具有简单主干/分支/标签结构的不同存储库,这样腐败就会隔离到一个项目。

另请注意,通过将当前修订版编辑为有效修订版意味着您可能会丢失数据(最新提交或更新将丢失),我可以找到一种方法来恢复它。但没有深入研究,因为我只损失了几个小时的工作。

希望能帮助到很多有同样痛苦的人。。