我正在从现有的CVS存储库转换为SVN存储库.CVS存储库有很少的brances,我想在转换时重命名分支.
通缉转换是这样的:
CVS branch SVN branch HEAD -> branches/branchX branchA -> trunk branchB -> branches/branchB branchC -> branches/branchC
也就是说,CVS HEAD成为正常分支,CVS branchA成为SVN中继.
CVS和SVN存储库都将位于同一台Linux机器上.
怎么可以这样做?
此外,CVS branchA成为SVN中继并且忽略所有其他CVS分支的转换可能就足够了.
我对保留提交历史特别感兴趣.如果我在转换后重命名并在SVN中移动分支,是否会保留历史记录?
是.Subversion还会跟踪目录结构的更改,即使文件在树中移动,也会保留所有版本历史记录.
我建议使用cvs2svn转换存储库,包括分支和标记.一旦存储库在Subversion中,您可以根据需要移动分支和标记.这也保持了实际标签和分支的历史记录被重命名,这在以后的历史背景中可能是有趣的.
我已经做了一段CVS - > SVN转换已经有一段时间了,甚至可能更长,因为我做了一个非常重要的分支结构.由于SVN可以相当容易地在目录树中移动,因此您可以先进行整个转换,然后在SVN中完全整理出主干/分支结构.
如果你确实达到了这一点并且在SVN中移动整个目录树,那么最好是在每个树重命名/移动步骤之后提交.请记住一些事情.