我把从现有的CVS库SVN库。CVS存储库中有几创建分支和我想重新命名分支机构的同时,转换。

想转换是这样的:

CVS branch         SVN branch
HEAD       ->      branches/branchX
branchA    ->      trunk
branchB    ->      branches/branchB
branchC    ->      branches/branchC

就是说,CVS的头成为一个正常的分支和CVS branchA变SVN干。

这两个人简历和SVN储存库将是在相同的linux机。

怎么可能这样做?

还转换CVS branchA变SVN干和所有其他人简历分支机构都被忽略可能是不够的。

有帮助吗?

解决方案

我特别感兴趣的维护承诺的历史。如果我重新命名和移动分支机构在SVN转换后,将历史记录被保留的?

是的。颠复还跟踪更改目录的结构,以及所有版本的历史记录被保留,即使一个文件的移动是在树。

我建议转换的储存库 cvs2svn, ,其中包括树枝和标签。一旦该仓库是在颠复你可以移动的分支机构和签约,如你所愿。这也保持历史记录的实际的标签和分支机构被重新命名,这可能是有趣的历史背景后面。

其他提示

它已经有一段时间,因为我已经做了一CVS->SVN转换,而且可能甚至更长的时间,因为我做了一个平凡的分支结构。由于SVN可以移动目录的树木相当容易,你可以做整个转换的第一,那么整理的干/分支机构的结构完全在SVN后。

如果你做到了这一点,并移动的整体目录中的树木内SVN,它可能是最好的,如果你承诺之后,每一棵树命名/移动步骤。只是要记住。

颠复分支机构目录,所以你可以移动的分支之后的进口已完成的和没有历史将会丢失。

一些额外的信息,以支持接受的答案:

cvs2svn不允许转换从树干以一个分支机构或分支,树干

所以移动的东西一旦你转化为svn是最好的路要走。

它可以移动的中继线和分支机构目录后的转换,但这将需要一个明确的后转换SVN承诺,将继续留在你的SVN历史记录,使得历史探索更复杂一点。

但你确实可以告诉cvs2svn储存的树干和树枝SVN路,你想要通过使用 --symbol-hints=symbol-hints.txt 命令行选项或(如果您使用的是一个选项文件转换)的 SymbolHintsFileRule('symbol-hints.txt') 符号战略规则, symbol-hints.txt 是一个文件包含线如下:

. .trunk. trunk branches/branchX .
. branchX branch trunk .

请注意,有些提交信息是自动生成的通过cvs2svn(例如,用于设立分支)将提的原有分支的名称。

虽然移动,围绕的分支之后转换做是可能的,它可以更好地设置cvs2svn配置文件明确指定名称你想要的你的每一个现有分支机构。一个好处是,鱼将会了解的输出一个好多了。

我特别感兴趣的维护承诺的历史。如果我重新命名和移动分支机构在SVN转换后,将历史记录被保留的?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top