我有一个Subversion工作副本,至少有一个文件丢失(在修复树冲突时,本地副本被删除了)。很有趣,因为该文件已经版本化,在存储库中出现,树冲突的解决方案是100%本地的(在更新时发生,之后我没有提交),而且我运行了几次“svn cleanup”,但我的Subversion客户端(命令行svn和TortoiseSVN)都无法检测到工作副本已损坏。甚至还原所有更改也无法找回该文件。
我将像往常一样进行修复(在其他位置进行全新结帐并使用WinMerge复制更改);我实际上有一个不同的问题:
如何测试工作副本的有效性?
当然,您始终可以检出新副本并使用文件比较实用程序,但是...难道没有更好的方法吗?是否有一种工具来验证与svnadmin verify
等效的工作副本?
=== 更新 ===
我得到了不错的答案,并有一些技巧可以防止工作副本损坏,但我的问题更多地是要找到一种方法,以确保工作副本既连贯又与实际存储库内容链接;换句话说,是svnadmin verify命令的工作副本等效物。
到目前为止,看起来:
Subversion没有提供这样的工具,并且可能SVN数据格式甚至不允许编写此类工具。
更新到修订版本是一种似乎可以找到(和修复)某些问题的技术,虽然您经常需要向旧版本回滚和前进,我想它只能检测缺失的文件是否在修订版本范围内已更改。
检出全新的工作副本似乎是唯一可靠的方法。