cvs2svn:将存储库转换并放入现有SVN存储库的子目录中

时间:2012-12-16 18:14:52

标签: svn cvs cvs2svn

我在Linux机器上有一个现有的SVN存储库/conf /db /hooks /locks format readme.txt,在签出后会看到以下内容。

MainRepo
 -trunk
 -branches
 -tags

我想使用cvs2svn进行一些CVS到SVN转换并保留历史记录并将新存储库(ProjectA,ProjectB等)放在MainRepo下...

| MainRepo
     -trunk
     -branches
     -tags
   | SubRepo
      | ProjectA
         -trunk
         -branches
         -tags
      | ProjectB

我该怎么做?我已经使用svn mkdir创建了子文件夹/ SubRepo / ProjectA。

如何将转换后的仓库置于其下?

2 个答案:

答案 0 :(得分:2)

您是否尝试在配置文件中设置“trunk_path”(在“run_options.add_project”下)?

答案 1 :(得分:1)

使用trunk_path不适用于ProjectB(即trunk_path=SubRepo/ProjectB/trunk)的原因是它导致cvs2svn尝试创建SubRepoSubRepo/ProjectA路径。但是导入ProjectA时SubRepo路径已经存在,这会导致svnadmin load失败。

导入其余项目的最简单方法是convert each project,就像它将成为顶级项目一样(顶级/trunk/branches,和/tags目录),但将输出写入转储文件(使用cvs2svn的--dumpfile选项)。然后使用

之类的命令将dumpfile加载到现有存储库中
svnadmin load --parent-dir SubRepo/ProjectB <DUMPFILE