如何定期复制 SVN 存储库而不丢失目标标签和分支?

如何定期复制 SVN 存储库而不丢失目标标签和分支?

我们希望下载(导出、检出)一个完整的存储库,并定期导入到不同的存储库(包含所有提交消息),以便我们可以实施标签/分支策略。

背景:我们的承包商刚刚承诺要完成主干,他拒绝(让我们保持技术性)创建标签来对每个新库进行版本控制(这样我们就可以跟上变更管理)。

因此我们希望每天将他们的库导入我们的主干,并根据我们的政策创建标签和分支。

有人遇到过这种情况吗?

答案1

SO 问题中有很多合理的解决方案如何同步两个 Subversion 存储库

看起来可能适用于您的选项建议使用SVK它基本上是 svn 的分散版本。

答案2

虽然这很不寻常,但我相信你应该能够在 的帮助下做到这一点svnadmin

在承包商的存储库上,您可以运行以下命令:

svnadmin dump --incremental -r <LOWER REVISION>:<UPPER REVISION> /path/to/bad_repo > dumpfile

然后在你的存储库上:

svnadmin load --parent contractors_stuff/ /path/to/your/repository < dumpfile

这将逐步将承包商存储库中的修订添加到contractors_stuff您实际存储库中的目录中。正如我所说,理论上应该可行,但这绝对不是此功能的预期用途。首先肯定需要在非生产系统上进行测试,如果您在实际存储库的该部分进行更改,它可能会中断。

理想情况下,你应该告诉你的承包商要采取相应行动,并遵守法律。

另一种技术解决方案是使用不同的版本控制系统,例如 Mercurial、Git 或其他能够更好地支持这种工作流程的 DCVS。

相关内容