linux - 保持颠覆存储库同步以迁移到新环境的最快方法是什么?

标签 linux svn synchronization

我正在尝试将大型 Subversion 存储库从 Subversion 1.6 系统迁移到 Subversion 1.7 系统。当我进行最终同步时,我可以停机并简单地使用 rsync,但我没有选择它,因为我希望使用 1.7 版创建/升级新存储库。

所以我选择使用 svnsync,因为它可以从停止的地方继续,而且因为存储库没有安装在同一台设备上。唯一的问题是对于大型存储库 svnsync copy-revprops 需要永远,因为它会重新经历每个修订。

所以我的问题是我可以执行以下操作之一吗:

  • 减少执行 svnsync copy-revprops 所需的时间
  • 完全跳过 copy-revprops
  • 使用一种更快的方法将存储库从一个版本的 subversion 增量同步到另一个版本。

?

最佳答案

根据 http://svnbook.red-bean.com/en/1.7/svn.ref.svnsync.c.copy-revprops.html :

Because Subversion revision properties can be changed at any time, it's possible that the properties for some revision might be changed after that revision has already been synchronized to another repository. Because the svnsync synchronize command operates only on the range of revisions that have not yet been synchronized, it won't notice a revision property change outside that range. Left as is, this causes a deviation in the values of that revision's properties between the source and mirror repositories. svnsync copy-revprops is the answer to this problem. Use it to resynchronize the revision properties for a particular revision or range of revisions.

这意味着如果修订属性没有发生变化,您可以选择跳过 copy-revprops。即使您不确定,也没有必要多次执行 copy-revprops - 在所有同步结束时执行一次就足够了。

关于linux - 保持颠覆存储库同步以迁移到新环境的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40921076/

相关文章:

python - python 异常包含的 errnos 是否与 "linux/errno.h"中的 errnos 相同?

linux - 如何在 Linux 中向应用程序发出信号而不杀死它?

windows - 如何从命令行使用 svn+ssh 和 Tortoise SVN

python - 如何同时运行两个函数

c++ - 在 C++11 中等待多个条件变量的最佳方法是什么?

python - 在 Linux 终端中重新着色特定应用程序

linux - OSX 中的环回挂载

在未参与合并操作的分支上找不到 svn 路径

svn - TortoiseSVN checkout 失败错误 svn : E120106: ra_serf: The server sent a truncated HTTP response body

c# - 分离式智能客户端同步