我正在尝试使用rereposgeon将svn的repo转换为git。
这是我所做的(有一个回购)。包含SVN名称的映射文件-> git名称映射):
svnadmin dump /home/subversion > repo.svn
reposurgeon "verbose 1" "repo.svn" "authors read" "write repo.fi"
reposurgeon运行了好几个小时(大量交换,因为它是一个12GB的转储文件),一切看起来都很好。下面是我得到的输出:
reposurgeon: verbose 1
reposurgeon: from repo.svn...copynodes+filemaps+copysets+commits+branches+parents+root+branchlinks+svn-mergeinfo+tagifying+tagify-empty+polishing+canonicalizing+resets+debubbling+renumbering+14163 revisions (1/s)...(9810.18 sec) done.
reposurgeon: r13: deleting parentless zero-op commit.
.
.
.
reposurgeon: r13726: deleting parentless zero-op commit.
2012-12-24T01:16:23Z * repo.svn
在这一点上,重新定位只是坐在那里。在这一点上,我不确定在哪里寻找解决方案,因为它实际上从来没有给我一个错误消息。欢迎提出任何建议
它成功地导入了存储库,但是随后它去处理authors read
命令,但是您没有指定文件。此时,它实际上正在等待文件出现在stdin上。使用authors read <author-map
,其中author-map是包含该映射的文件的名称。
出于类似的原因,您还需要将写命令更改为write >repo.fi
。