使用reposurgeon将多项目Subversion仓库迁移至Git

7
我正在尝试使用reposurgeon将Subversion存储库转换为Git,该存储库包含以下布局的多个项目:
<groupname>/<projectname>/{trunk,tags,branches}

我尝试了这个reposurgeon脚本:
read <svnrepository.dump
sourcetype svn
prefer git
rebuild myrepository

但结果是一个Git仓库,每个组有一个分支。 有没有办法将转换限制在一个项目中?
1个回答

5
使用svnadmin dump命令的--include选项来将dump限制在一个项目中,然后使用repocutter工具来去除路径前缀。
svnadmin dump . --include '/<groupname>/<projectname>' | 
    repocutter pathrename '^<groupname>/<projectname>/' '' > svnrepository.dump

然后像之前一样使用 reposurgeon


谢谢您的建议,不幸的是它并没有很好地起作用。reposurgeon 无法处理过滤后的转储文件,要么出现 KeyError 错误,要么在某一行缺少必需的日期字段。 - Emmanuel Bourg
看起来是reposurgeon中的一个bug...这并不是第一次出现。我尝试在一个结构类似的自己转储的SVN存储库上运行它,它确实可以工作。 - user3840170

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接