将两个CVS项目合并为一个SVN项目

时间:2010-04-22 23:29:19

标签: svn cvs svnadmin

我有两个CVS项目,我在Eclipse中维护。我查看了第一个项目,对于第二个项目,我使用“checkout in existing project”选项,因此我可以将两个CVS项目维护到一个Eclipse项目中。这样做我可以使用相同的标签等标记两个项目。

知道,时间已经开始使用SVN了。我能够创建两个单独的CVS转储文件,当我使用svnadmin加载到SVN存储库时,我无法保留我在CVS中的结构!

所以,当我将两个转储单独导入SVN时,我得到以下结构:

ProjA -     分支器     标签     躯干

ProjB     bracnches     标签     躯干

在CVS中,我能够将ProjB作为ProjA主干的子文件夹!

有没有办法用SVN实现这个?

3 个答案:

答案 0 :(得分:2)

项目的Subversion概念是“您标记并分支为一个单元”。分别标记或分支单独的项目很麻烦,无论它们是在单独的Subversion存储库中还是在单个存储库中的子项目中。我熟悉的其他现代VCS也有同样的限制。

所以我想问题是:如果你想同时标记或分支这些“项目”,它们是否真的是单独的项目,还是你应该在一个“主”项目中考虑它们的子目录?如果它们是单个项目的一部分,那么同时标记或分支它们是微不足道的,尽管当然,单独标记或分支它们会变得更加麻烦。

我建议遵循以下经验法则:项目是将与单个版本号一起发布的文件集。如果您的“项目”通常在单个版本号下发布,则将它们视为单个项目的子目录。如果它们将使用单独的版本号单独发布,则将它们视为独立的独立项目。

答案 1 :(得分:0)

如果这些是真正独立的项目,您可以做的一件事就是使用svn:externals,这将允许您从其他存储库中创建一个存储库引用(并自动从其中下载内容)。

答案 2 :(得分:0)

在SVN中,您只需将文件和文件夹移动到您想要的位置即可。

查找svn move命令。