我们曾经有一个用于多个项目的共享 SVN 存储库,昨天,我们的 SVN 管理员为我们的项目创建了一个新的 SVN 存储库。
我将现有的项目签出重新定位到新的 SVN 存储库,但现在,当我进行 SVN 更新时,我收到一条错误消息,例如"No such revision 223297".
实际上,新存储库只有我们项目特定的修订数量(围绕33000提交),而旧存储库有223400.
我想知道是否可以将所有现有的签出文件夹切换到新的存储库?否则,我将不得不做一些干净的结帐。
我们曾经有一个用于多个项目的共享 SVN 存储库,昨天,我们的 SVN 管理员为我们的项目创建了一个新的 SVN 存储库。
我将现有的项目签出重新定位到新的 SVN 存储库,但现在,当我进行 SVN 更新时,我收到一条错误消息,例如"No such revision 223297".
实际上,新存储库只有我们项目特定的修订数量(围绕33000提交),而旧存储库有223400.
我想知道是否可以将所有现有的签出文件夹切换到新的存储库?否则,我将不得不做一些干净的结帐。
显然,您的管理员没有包含填充修订,这通常在使用 svndumpfilter 拆分存储库时被强烈推荐。
否则,绝对不可能用您的存储库更新您的工作副本,因为 SVN 以修订号为导向,而您的存储库(从技术上讲)是不同的存储库(通常存储库的 UUID 也不应该匹配。另一个应该由您的管理员修复)。此外,如果您使用诸如 bugtracker 之类的外部工具来保存修订号以将内容链接到您的源代码,这些引用也会丢失。
最好的解决方案是在没有 svndumpfilter 开关的情况下重做存储库创建 -但是drop-empty-revs,那么您在新存储库中的工作就会丢失..
备份工作目录
删除顶层工作目录下的 .svn 目录
查看整个工作目录。
为我工作...
猜猜你必须做一些干净的结帐。
在我的情况下,我们的 SVN 管理员完全从旧存储库创建了一个新的 SVN 存储库克隆。当我将工作副本重新定位到新的 SVN 存储库后更新工作副本时,我收到了同样的消息。
然后我发现这是因为我在重新定位到新存储库之前进行了 SVN 更新,并且修订号刚好超出了新存储库中的修订号。
所以,这是我的解决方案:
Update to revision...将您的工作副本更新为旧版本(只是您的 SVN 管理员创建新存储库之前的版本)希望这对您有所帮助。