尝试将文件夹从一个存储库切换到另一个存储库并收到错误 SVN - 错误表示存储库 UUID

尝试将文件夹从一个存储库切换到另一个存储库并收到错误 SVN - 错误表示存储库 UUID

我遇到了与此处描述的相同的错误SVN-错误表示存储库 UUID‘XXX...’与预期‘XXX..’不匹配但我认为情况有些不同。我有一个本地 Subversion 存储库,位于 ,svn://ip_address/repo1_name/branches/Folder另一个存储库我正尝试进行切换svn://ip_address/repo2_name/trunk/Folder

因此,我将其作为新项目签出svn://ip_address/repo2_name/trunk,然后尝试将目录切换Folder到此地址svn://ip_address/repo1_name/branches/Folder。自那次尝试以来,我一直收到前面描述的错误。我尝试按照那里的建议去做。这对--relocate我没有太大帮助,而且设置新的 uuid 不是一个选项,因为我不知道前一个。

我认为,这可能是由于不同的存储库(我要切换到的目录位于另一个存储库中),但后来我认为这不应该是个问题。

有什么方法可以解决这个问题吗?在此先感谢所有能提供帮助的人。

答案1

(根据聊天中的讨论)

你想要实现的并不是 switch 和 relocate 命令的目的。switch它将把你的工作副本指向相同的存储库,这将允许您快速移动到分支,而无需进行全新签出。当您尝试在两个不同存储库的两个 WC 之间切换时,会导致 UUID 错误。

relocate将会改变你的工作副本到新的存储库。如果您更改了方案或将存储库移至新主机,则很有用。

分支和合并是跟踪同一存储库中两个部分之间的更改所需的操作。这已得到充分记录,并且是 svn 的核心功能,但有一个很好的重新集成合并示例,如 中的示例 3 svn help merge

另一个选择是使用第二个 repo 上的外部工具来将 repo1 的更改作为 repo2 更新的一部分进行拉取。

答案2

实际上,错误听起来恰恰是因为它们是不同的存储库。

如果我这样做,我会做的是检出要移动的文件夹,然后删除检出的副本中的 .svn 隐藏文件夹,并将所有文件作为新文件添加到目标存储库。

相关内容