SVN-错误表示存储库 UUID‘XXX...’与预期‘XXX..’不匹配

SVN-错误表示存储库 UUID‘XXX...’与预期‘XXX..’不匹配

Zend Framework 的 SVN 服务器昨天宕机了,现在恢复了。我仍然收到来自外部“Zend”目录的错误。每当我尝试更新或切换到另一个分支时,都会收到此错误。

Error     Repository UUID 'XXXX...' doesn't match expected 
Error     UUID 'XXXX...'

UUID 彼此不同。

我正在使用 tortoiseSVN 客户端,但我认为这是一个 SVN 错误。

答案1

我没有使用过 Zend 的服务器,但这是一个 SVN 错误。您的工作副本与最初创建它的 UUID 的存储库绑定在一起。该错误意味着自创建 WC 以来,服务器上的 UUID 已发生变化。

这种情况通常发生在服务器上完成转储/加载循环并且未保留存储库的 UUID 时。

有两种方法可以解决这个问题。在客户端:

 svn switch --relocate

会将您的 WC 重新定位到新存储库(我假设应该是旧存储库)。我认为 Tortoise 有一个单独的relocate选项,而不仅仅是switch

或者,在服务器上:

svnadmin setuuid <repository path> <new uuid>

您可以将 repo 的 UUID 设置为旧的,然后您现有的 WC 应该会再次开始与其对话。(svn info您的 WC 内部将显示它所期望的 UUID。)

如果您无法控制存储库,则需要前一种选项;如果您可以控制存储库,则需要后一种选项。(其他客户端也会遇到同样的问题)。

有关存储库 UUID 的更多详细信息请参见此处:http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.uuids

答案2

嗯,这取决于当它崩溃时发生了什么。由于 UUID 不同,我猜他们重建了存储库,并以某种方式获得了不同的 UUID。

如果您有权访问底层 svn 存储库,则可以将存储库 UUID 设置为:-

 svnadmin setuuid REPOS_PATH [NEW_UUID]

否则,另一个解决方案是从新的存储库中进行全新签出。

答案3

教程 SVN 重新定位错误-无效的重新定位目的地对我有用。

尝试删除.svn 文件夹并运行svn checkout <new-url-of-branch>

相关内容