6

显然,其中一个旧版本已从 svn 存储库中消失:

svn checkout http... myrepo
svn: REPORT of '/svn/myrepo/!svn/vcc/default': Could not read chunk size: connection was closed by server (http://localhost)

$ svnadmin verify myrepo
* Verified revision 0.
...
svnadmin: No such revision 262

$ svn log -v -r 262
svn: No such revision 262

$ ll /var/SVN/myrepo/db/revs/0/
...
-rw-r--r-- 1 www-data www-data  27289777 2010-10-21 22:21 260
-rw-r--r-- 1 www-data www-data   4727180 2010-11-12 18:51 261
-rw-r--r-- 1 www-data www-data   2180586 2010-11-14 20:33 263
...

在这个问题上搜索说“从备份恢复”,但我所有的 3 个备份都有这个缺失的修订版,所以它一定已经有一段时间了。我只有在无法提交特定文件时才注意到它。我有一个当前的工作副本。除了从头开始我还能做什么?!?

4

1 回答 1

1

您有权访问原始存储库吗?您可以通过进入存储库文件夹来验证是否缺少修订,然后在 db 文件夹下,您将看到一系列文件夹。对于 rev 262,它将位于文件夹“0”中,其中包含 0-999 的所有修订。可以小心地从存储库中删除修订。当一个或多个文件被提交时,我们已经这样做了,无论出于何种原因,它都不应该成为 repo 的一部分。您可以使用 svn 命令删除它们,但仍然可以通过指定修订来检索它们。有没有可能有人做过这样的手术?

警告-即使您知道自己在做什么,在存储库中弄脏也会导致问题?您可能需要在调查之前制作一份 repo 的副本,以防万一出现问题,以免损坏它。

于 2011-11-29T16:38:40.757 回答