svn-all-fast-export看起来是从svn转移到git的好方法,它支持将一个svn存储库拆分为多个git存储库。
我想做相反的事情。我有一组密切相关的svn存储库。它们都使用相同的分支名称同时分支。所有存储库中的标记都是相同的。我想将它们组合到一个git存储库中,每个svn存储库中的文件都在自己的子目录中。我希望这些历史记录是交错的,例如,每个存储库中的trunk都以日期顺序出现在git中的master中。
更具体地说,我有svn存储库,其中的trunk提交按时间顺序编号(每个分支上的提交看起来相似):
A
commit 1
commit 4
B
commit 2
commit 3
commit 8
C
commit 5
commit 6
commit 7
我想在git中转换为以下内容:
bigproject/
A/
B/
C/
主人的历史看起来像:
commit 1
commit 2
commit 3
commit 4
commit 5
commit 6
commit 7
commit 8
svn-all-fast-export能做到吗?我还没有找到任何例子。还有其他现有工具吗?
答案 0 :(得分:1)
我在之前的项目中使用了SubGit来执行Subversion to Git迁移,这比你想要完成的更简单。就个人而言,我尝试在SubGit之前使用多种迁移工具,并对整体可用性和常识配置选项感到惊喜。
以下文章还介绍了如何利用SubGit等工具完成任务:https://serverfault.com/questions/420828/migrate-multiple-svn-repositories-into-single-git-repository。但是再一次,我肯定会建议SubGit使用git-svn桥接器来构建基本的迁移任务中的git(有时候看起来非常脆弱)。