0

我在 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.

如何将转换后的回购放在它们下面?

4

2 回答 2

2

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

于 2012-12-16T18:20:09.990 回答
1

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

导入其余项目的最简单方法是将每个项目都转换为顶级项目(带有顶级/trunk、、/branches/tags目录),但将输出写入转储文件(使用 cvs2svn 的--dumpfile选项)。然后使用类似的命令将转储文件加载到现有存储库中

svnadmin load --parent-dir SubRepo/ProjectB <DUMPFILE
于 2013-01-07T08:36:24.427 回答