0

我正在使用svn2git,但我也可以使用git svn。我在 SVN 存储库中有以下场景。

 trunk 
 brances 
     branchesA
         branchA1
         branchA2
         [...]
     branchesB
         branchB1
         branchB2
         [...]
     branchesX
         [...]

迁移完成后,在 Git 端有 branch branchesAbranchesB,等等......它们的内部文件夹带有正确的 SVN 分支。例如在 Git 存储库上:

 master 
 branchesA 
 branchesB 
 branchesX
 [...]

如果您$git checkout branchesA将看到所有分支子文件夹,例如 ( $ls):

 branchA1
 branchA2
 branchA3
 [...]

一旦我已经迁移了它,或者以某种方式将多个文件夹传递给--branches?

4

1 回答 1

1

不要用于一次性git svn转换。如果您需要不断同步并提交回 SVN,这是很好的选择,但对于一次性转换来说不是最佳选择。

有很多工具叫做svn2git,但从你的问题来看,我猜你没有使用来自https://github.com/svn-all-fast-export/svn2git的 KDE 工具。我强烈建议使用该svn2git工具。这是我所知道的最好的,并且在你可以用它的规则文件做什么方面非常灵活。

您将能够轻松地为您的布局配置它以获得您想要和期望的结果。您甚至可以保持将分支放在“子文件夹”中的惯例,就像目前在 SVN 中一样。Git 中的一个分支将是branchesA/branchA1.

如果您不是 100% 了解存储库的历史,那么在将 SVN 存储库迁移到 Git 时,http://blog.hartwork.org/?p=763 是调查 SVN 存储库历史的好svneverever工具

于 2016-04-25T09:32:22.797 回答