我的 PC (Windows Server 2012) 上安装了 TortoiseSVN 1.8.7 + VisualSVN Server 2.7.7。最近我的同事告诉我,当他尝试更新时,在对话框列出几个更新的文件后出现“XML 响应包含无效的 XML”错误。当他再次更新时,工作副本被锁定并需要清理。
我使用的是与同事相同的存储库,但我可以毫无问题地进行更新和提交。
经过排查,在事件查看器中发现磁盘错误,打开日志时,看不到早于6291的日志,我尝试打开“project\db\rev\6290”文件,10~ 15秒,内容为空,事件查看器出现更多磁盘错误。我用robocopy复制了所有文件到另一个磁盘,只有上面的文件失败了。
我认为这些修订文件就像 diff 文件,所以也许我可以使用工作副本(当前为 r6295)和 project\db\6291~6295 来“反向合并”到 6290?可能吗?
最佳答案
反向合并在这里无济于事。
首先,确定您的同事所犯错误的根本原因是有意义的。你说你没有得到错误,所以它给我们带来了以下问题:
他的工作副本损坏了吗? 对工作副本运行
svn cleanup
并查看错误是否仍然存在。尝试使用干净的工作副本重现错误也很有意义,例如运行svn checkout
并查看是否收到错误。存储库是否已损坏? 针对存储库运行
svnadmin verify -q
并检查其输出。我想在您的情况下,存储库是健康的,但如果不是,那么最简单的解决方案是从备份中恢复存储库。
关于svn - 是否可以通过反向合并恢复某些 SVN 修订版?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25137551/