CV到SVN迁移和分支内的分支

CV到SVN迁移和分支内的分支,svn,branch,cvs2svn,tortoisecvs,Svn,Branch,Cvs2svn,Tortoisecvs,我最近使用cvs2svn工具从CVS迁移到SVN。在我的一个项目的新迁移项目中,最新版本是分支的一部分,比如分支a(父目录)。在这个项目中,我有一个子项目,它的最新版本是另一个分支,比如分支B。所以基本上主干没有我主项目的最新版本 因此,在CVS中,一旦我签出父文件夹(分支A),我就会浏览到我的子项目>右键单击>CVS>更新特殊>选择分支B(因为分支B有最新的子项目)。这将签出子项目的最新版本,我将拥有主项目的最新版本 然而,在SVN中,我看不到这个选项。据我所知,SVN只能用修订版更新,不能用

我最近使用cvs2svn工具从CVS迁移到SVN。在我的一个项目的新迁移项目中,最新版本是分支的一部分,比如分支a(父目录)。在这个项目中,我有一个子项目,它的最新版本是另一个分支,比如分支B。所以基本上主干没有我主项目的最新版本

因此,在CVS中,一旦我签出父文件夹(分支A),我就会浏览到我的子项目>右键单击>CVS>更新特殊>选择分支B(因为分支B有最新的子项目)。这将签出子项目的最新版本,我将拥有主项目的最新版本

然而,在SVN中,我看不到这个选项。据我所知,SVN只能用修订版更新,不能用分支更新。我是SVN的新手,所以我错的可能性更大。有没有一种方法可以实现我在CVS场景中试图实现的目标


我想出了一个循环的方法来签出主项目(分支a),然后分别签出子项目(分支B)。然后,我将从第一次签出(父项目分支A)中删除此子项目,并将其替换为子项目的第二次签出版本。

您可能可以使用完成目标。子项目将是另一个回购的外部项目。

您可以通过以下方式实现您的目标。子项目将是另一个回购协议的外部。

听起来您好像在尝试进行稀疏分支。在稀疏分支中,您有一个分支作为基础(我们称为分支A),而在另一个分支上(我们称为分支B),您只放置来自分支A的更改,而不是整个分支

这有时在CVS中完成,因为执行分支需要很长时间。我们发现小项目需要20分钟,大项目需要一个小时。然而,它最终很难跟踪,我发现使用它的网站往往会忘记如何进行签出。连续生成系统也无法处理CVS稀疏分支设置

Subversion不会进行稀疏分支(至少非常容易),但Subversion中的分支是快速而简单的。创建分支只需不到一秒钟的时间。在Subversion中,您应该使用分支A,并从分支A创建分支B。然后,您将分支A和分支B之间的所有差异放在分支A上。对分支A的更改必须定期合并到分支B

稀疏分支的问题是,如果一个文件在两个分支上都发生了更改,那么它将永远不会被拾取。通过合并,两个分支上的更改被添加到分支B上的文件中。这就是为什么很少有站点进行稀疏分支的原因


您需要从分支a创建一个新的分支B,然后将旧分支B上的所有更改都添加到此新分支B上,并将其签入。然后,分支B将包含它所需的所有文件,您可以使用连续集成系统,将文件签入和签出是一步操作。

听起来您好像在尝试进行稀疏分支。在稀疏分支中,您有一个分支作为基础(我们称为分支A),而在另一个分支上(我们称为分支B),您只放置来自分支A的更改,而不是整个分支

这有时在CVS中完成,因为执行分支需要很长时间。我们发现小项目需要20分钟,大项目需要一个小时。然而,它最终很难跟踪,我发现使用它的网站往往会忘记如何进行签出。连续生成系统也无法处理CVS稀疏分支设置

Subversion不会进行稀疏分支(至少非常容易),但Subversion中的分支是快速而简单的。创建分支只需不到一秒钟的时间。在Subversion中,您应该使用分支A,并从分支A创建分支B。然后,您将分支A和分支B之间的所有差异放在分支A上。对分支A的更改必须定期合并到分支B

稀疏分支的问题是,如果一个文件在两个分支上都发生了更改,那么它将永远不会被拾取。通过合并,两个分支上的更改被添加到分支B上的文件中。这就是为什么很少有站点进行稀疏分支的原因


您需要从分支a创建一个新的分支B,然后将旧分支B上的所有更改都添加到此新分支B上,并将其签入。然后,分支B将包含它所需的所有文件,您可以使用连续集成系统,将文件签入和签出只需一步操作。

谢谢您的回复。我通过使用switch命令实现了这一点。我把子项目转到了我想要的另一个分支。谢谢你的回复。我通过使用switch命令实现了这一点。我想把子项目转到另一个分支。