2010-09-30 94 views
0

我有一个相当大的CVS存储库,我只希望将少数模块转换为单个Subversion存储库。我已被正确地引导到使用cvs2svn进行转换,甚至已经建立了我自己的选项文件。我不需要保留标签或分支,但我想保留修订历史记录。我的问题是我希望我的模块位于单个中继文件夹下,例如svn/trunk/module1和svn/trunk/module2,而不是svn/module1/trunk和svn/module2/trunk。当我将路径设置为空时,它将引发有关空白路径的错误。有什么建议么?将许多CVS模块转换为单个SVN存储库

回答

2

我的问题是,我希望我的模块位于单个中继文件夹下,例如, svn/trunk/module1和svn/trunk/module2,而不是svn/module1/trunk和svn/module2/trunk。 [...] 有什么建议么?

为什么不按照原来的方式导入结构,并稍后在存储库中移动它?毕竟,移动SVN的能力是SVN相对于CVS的最大优势之一。 (事实上​​,结构的这种变化是那么的历史其实可以被看作是一个优势

+0

+1为维护进口的结构和SVN的历史转型。 – zellus 2010-09-30 20:22:16

+0

你知道,我甚至没有想到这一点,心灵失误。 – 2010-09-30 20:58:46

0

做最简单的事情就是让你的CVS仓库的副本,那么(在副本)移动这些目录围绕您希望它们在最终的Subversion存储库中结束。然后转换为单个项目,将cvs2svn指向重新安排的存储库中的相应目录。例如: -

mkdir $CVSCOPY/proj 
mv $CVSCOPY/path/to/module1 $CVSCOPY/proj/module1 
mv $CVSCOPY/another/path/to/module2 $CVSCOPY/proj/module2 
cvs2svn [OPTIONS] $CVSCOPY/proj 

(如果你的子模块已经被安排在希望的方式,复制和重新排列,甚至可能没有必要。)

相关问题