(1)如何将两个subversion repos,其中一个是另一个外部转换为github上的单个git repo?我希望历史记录是交错的,以便gitk输出有意义!
(2)为什么我要使用svnadmin转储而不只是git clone
然后移动它们?
(3)如何测试我的新存储库以查看它与旧的存储库对匹配?
为了回答问题,假设两个subversion存储库位于http://acl2-devel.googlecode.com/svn和http://acl2-books.googlecode.com/svn,并且两个存储库都使用标准svn布局(主干,分支,标记)进行设置。此外,假设我想要一个干净的休息,并希望分支和标签重新开始。
答案 0 :(得分:1)
(1)这是关于我将两个repos组合成一个git repo的做法的元级别讨论。
实现上述目标的脚本很长,可在以下位置获得: https://github.com/ragerdl/svn-to-git/blob/master/convert-acl2-books-svn-and-acl2-devel-svn-to-git.sh
(2)为什么不在两个存储库上使用git svn clone然后合并它们呢?
因为,当我进入樱桃采摘步骤时,存在大量冲突。按此顺序执行它可以避免这些冲突。
(3)您可以通过确保对于您关心的每个扩展,在两个存储库中每个扩展的计数相同来测试您的存储库。你也可以执行差异。有关执行这些操作的脚本,请参阅https://github.com/ragerdl/svn-to-git/blob/master/quality-assurance.sh。
我意识到复制+粘贴代码会很好,但是有很多,这是我的第一次切割。如果其他人想要清理我编写的脚本并将其粘贴到此处,我们将不胜感激。我不认为这是社会的真正增值,除了我花了很多时间阅读别人的帖子,我找不到这个问题的答案。因此,我认为这个答案应该在搜索引擎很容易找到的地方。