0

我有一个存储库,我正在使用 svnadmin 转储和加载迁移到新的颠覆服务器。如以下步骤所述,我分 2 次执行此操作:

  • repoX 在修订版 100
  • 我执行 svnadmin dump repoX > repoX.dump
  • 我在新服务器上执行 svnadmin create repoX
  • 我在新服务器上执行 svnadmin load repoX < repoX.dump

到目前为止,这一切都有效,svnadmin verify 说一切正常。接下来,我尝试更新新的 repo(这是在最终截止之前,仍在此阶段进行测试)。

  • 接下来我执行 svnadmin dump repoX -r 101:head --incremental > repoX.dump
  • 我再次在新服务器上执行 svnadmin load repoX < repoX.dump

然后我收到一个错误,说 repoX 中的某些路径不存在。所以我再次尝试使用增量转储:

  • svnadmin dump repoX -r 100:head --incremental > repoX.dump

这次它可以工作并且验证正常。

但是....还有其他回购,例如回购。当我尝试第二种机制时(在第一个转储中转到修订版 100,然后从修订版 100 获取更新的转储)我收到另一个错误,说目录已经存在!一些存储库以一种方式工作,一些以另一种方式工作,当我以同样的方式工作时,它们都不起作用。

所以我想知道的是,从转储到修订版 100(例如)的正确机制,然后在第二次扫描中将其余的存储库转储到头部。我花了一个上午的时间阅读,阅读和阅读,但我什至找不到我正在做的事情的例子,即使我知道它可以做到。

我不能放弃做一个转储文件,因为我们谈论的是分布在 50 个存储库中的价值 150GB 的数据,这些数据实际上不能在一夜之间转储、传输和加载。这种机制确保我们可以在最终切换之前移动 95% 的数据……但看起来我的理论可能存在缺陷。

如果您想了解更多信息,请询问。


好吧。我在一个测试区域重新开始了整个过程,它似乎工作正常。我今天将继续测试,但在这个阶段它看起来正在工作。谁知道我最初做了什么导致这些错误。

4

1 回答 1

1

如果在您转储时服务器处于活动状态,是否有可能在两者之间进行了提交?

  • 回购是 rev 100
  • svnadmin 转储

您如何确定从哪个版本开始?在转储前、转储后、检查转储文件或加载后从目标存储库查询源存储库?

于 2010-06-21T04:14:25.643 回答