Svn2git迁移:存储库/项目复杂性

时间:2016-05-09 11:31:28

标签: git svn git-svn svn2git

我有3个svn存储库,每个存储库中有30个项目。我想将这3个svn存储库转换为Git存储库,并将各自的项目保留在其中。为了给出一个清晰的想法,我所拥有的结构的代表在哪里:

-Repository1
  -- project1
  -- project2
  -- project3
  -- project4
  -- project5
-Repository2
  -- project1
  -- project2
  -- project3
  -- project4
  -- project5
-Repository3
  -- project1
  -- project2
  -- project3
  -- project4
  -- project5

到目前为止,我尝试过很多教程,但没有一个能用于我的目的。大多数教程都建议我为每个项目创建一个存储库,我觉得这不是好的,因为这不是我对svn的模式。

当我执行这样的命令时:

svn2git http://address/address/Repository1/project1 --authors ../authormap.txt --metadata

它创建项目的文件夹作为git存储库,我不想要;因为我的svn结构并非如此。

所以我需要一个命令将整个存储库(以及其中的30个项目)转换为Git存储库。我被告知要删除地址末尾的projectName,如下所示:

svn2git http://address/address/Repository1 --authors ../authormap.txt --metadata

然而它没有用,我得到了:

command failed:
git checkout -f master

我已经尝试了近一天的方法,到目前为止没有运气。转换存储库不应该令人沮丧和复杂。任何人对此事都有一个坚实的想法?

1 个答案:

答案 0 :(得分:-1)

有一些称为svn2git的简单工具,但是根据你的问题,我猜你没有使用https://github.com/svn-all-fast-export/svn2git中的KDE。我强烈建议您使用svn2git工具。这是我所知道的最好的,它可以非常灵活地使用它的规则文件。

您可以轻松地为布局配置它,以获得您想要的结果。

如果您不是100%关于存储库的历史记录,http://blog.hartwork.org/?p=763中的svneverever是一个很好的工具,用于在将SVN存储库迁移到Git时调查SVN存储库的历史记录。