7

我们曾经有一个用于多个项目的共享 SVN 存储库,昨天,我们的 SVN 管理员为我们的项目创建了一个新的 SVN 存储库。

我将现有的项目签出重新定位到新的 SVN 存储库,但现在,当我进行 SVN 更新时,我收到一条错误消息,例如"No such revision 223297".

实际上,新存储库只有我们项目特定的修订数量(围绕33000提交),而旧存储库有223400.

我想知道是否可以将所有现有的签出文件夹切换到新的存储库?否则,我将不得不做一些干净的结帐。

4

3 回答 3

7

显然,您的管理员没有包含填充修订,这通常在使用 svndumpfilter 拆分存储库时被强烈推荐。

否则,绝对不可能用您的存储库更新您的工作副本,因为 SVN 以修订号为导向,而您的存储库(从技术上讲)是不同的存储库(通常存储库的 UUID 也不应该匹配。另一个应该由您的管理员修复)。此外,如果您使用诸如 bugtracker 之类的外部工具来保存修订号以将内容链接到您的源代码,这些引用也会丢失。

最好的解决方案是在没有 svndumpfilter 开关的情况下重做存储库创建 -但是drop-empty-revs,那么您在新存储库中的工作就会丢失..

于 2012-10-19T08:56:22.387 回答
7
  1. 备份工作目录

  2. 删除顶层工作目录下的 .svn 目录

  3. 查看整个工作目录。

为我工作...

于 2018-05-12T05:32:33.870 回答
0

猜猜你必须做一些干净的结帐。

在我的情况下,我们的 SVN 管理员完全从旧存储库创建了一个新的 SVN 存储库克隆。当我将工作副本重新定位到新的 SVN 存储库后更新工作副本时,我收到了同样的消息。

然后我发现这是因为我在重新定位到新存储库之前进行了 SVN 更新,并且修订号刚好超出了新存储库中的修订号。

所以,这是我的解决方案:

  1. 重新定位回旧存储库
  2. 用于Update to revision...将您的工作副本更新为旧版本(只是您的 SVN 管理员创建新存储库之前的版本
  3. 重新定位到新的存储库,现在尝试再次进行 SVN 更新 :)

希望这对您有所帮助。

于 2016-07-29T01:37:40.230 回答