0

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

4

2 回答 2

2

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

为什么不按原样导入结构并稍后在存储库中移动内容?毕竟,移动事物的能力是 SVN 相对于 CVS 的最大优势之一。(事实上​​,这种结构的变化在历史上实际上可以被视为一种优势。)

于 2010-09-30T19:39:25.157 回答
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

(如果您的子模块已经以所需的方式排列,则可能甚至不需要复制和重新排列。)

于 2010-10-03T15:07:17.130 回答