我有一个回购协议,该回购协议在某种程度上无声地无效。在过去的几周中,提交文件时出现了两个校验和错误(我从未见过)。在每次涉及的单个文件中,我先使用svn revert
处理此问题,然后使用svn rm
处理该问题,以完成原始提交,然后将新版本重新添加到存储库中。
我曾希望这将是问题的结局,但事实并非如此。我刚刚签出了回购协议,如下所示:
新签出中的某些文件不正确,并且似乎是第一个csum问题之前的版本。错误文件上的svn log
显示正确提交历史,svn info
显示正确的UUID,以及正确的URL和根目录。但是文件数据是错误的。如果我在客户端和svn cat -rhead
上找到了错误的文件,那么我得到的数据是错误的;在服务器上,我得到了正确的数据。
服务器在RAID驱动器上使用FSFS。我无法从svn 1.6.11更新,因为这是Centos 6.10的当前版本,而源代码构建将需要新的sqlite源代码构建,这可能会破坏其他功能。因此,我已经放弃了该存储库,然后将其重新加载到一个新的存储库中(svnadmin dump
,svnadmin create
,svnadmin load
),但是新的存储库也是不正确。它显示的数据与Cygwin结帐相同。 diff
显示与原始存储库不同的71个文件,其中有数百个。
除了手动比较所有不同文件并将其添加到新存储库之外,还有什么建议?