将svn存储库克隆到其他svn存储库

时间:2011-07-22 08:49:14

标签: svn tortoisesvn

我有一个现有的CMS svn存储库CMS_REPO。现在我想将此CMS源代码用作其他项目的基本源代码。所以我创建了一个空的svn存储库ABC_REPO。

我的问题是如何将CMS_REPO克隆到ABC_REPO中。我将在ABC_REPO上进行开发。但是,如果CMS_REPO有任何更改,我还需要将更改合并到ABC_REPO。而不是修改两个存储库中的源代码,有没有简单的方法呢?我正在使用tortoiseSVN。感谢。

2 个答案:

答案 0 :(得分:1)

如果您有2个完全不同的存储库,则您有2个完全不同的存储库。因此代码被复制并且与原始代码没有关系(以svn术语)。想象一下你的第二个回购托管在googlecode上,你明白了。

这不会阻止您使用SVN正常合并,当svn合并时,它会将您对一个修订所做的更改应用于目标。这与从哪个repo源读取无关紧要,因此您可以愉快地使用修订范围合并功能在repos中应用更改。你失去的是mergeinfo,所以你不能使用第二个repo代码作为第一个分支,这意味着你不能执行重新整合合并或类似的需要mergeinfo。 (或者至少,我认为我就在那里 - 你可以尝试一下,看看我是不是错了!)

答案 1 :(得分:0)

您可以通过svnsync工具创建第一个存储库的同步只读副本。但是你不能提交到第二个存储库,因为它是只读的。这可以通过Hook-Scripts(post-commit-hook)来完成,以便在每次提交完成时更新第二个存储库。