Geo Asked: 2009-07-10 07:12:49 +0800 CST2009-07-10 07:12:49 +0800 CST 2009-07-10 07:12:49 +0800 CST 如何定期复制 SVN 存储库而不会丢失目标标签和分支? 772 我们希望下载(导出、签出)一个完整的存储库,并定期导入到不同的存储库(包含所有提交消息),以便我们可以实施标签/分支策略。 背景:我们的承包商只是对主干作出承诺,他拒绝(让我们保持技术性)为每个新库创建标签(这样我们就可以跟上变更管理的步伐)。 所以我们希望每天将他们的库导入到我们的主干中,并根据我们的策略创建标签和分支。 以前有没有人发生过这种情况? java svn 2 个回答 Voted Zoredache 2009-07-10T08:31:02+08:002009-07-10T08:31:02+08:00 SO问题如何同步两个颠覆存储库中有许多合理的解决方案。 看起来可能适用于您的选项建议使用SVK,它基本上是 svn 的去中心化版本。 Kamil Kisiel 2009-07-10T07:22:37+08:002009-07-10T07:22:37+08:00 虽然它非常不同寻常,但我相信您应该能够在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。
SO问题如何同步两个颠覆存储库中有许多合理的解决方案。
看起来可能适用于您的选项建议使用SVK,它基本上是 svn 的去中心化版本。
虽然它非常不同寻常,但我相信您应该能够在
svnadmin
.在承包商的存储库中,您可以运行以下命令:
然后在您的存储库中:
这将逐渐将承包商存储库中的修订添加到
contractors_stuff
您真实存储库中的目录中。正如我所说,理论上它应该可以工作,但这绝对不是这个功能的预期用途。首先肯定需要在非生产系统上进行测试,如果您在真实存储库的那部分进行更改,它可能会中断。理想情况下,您会告诉您的承包商齐心协力并制定法律。
另一种技术解决方案是使用不同的版本控制系统,例如 Mercurial、Git 或其他能够更好地支持这种工作流的 DCVS。