0

我有 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

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

4

1 回答 1

-1

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

您将能够轻松地为您的布局配置它以获得您想要和期望的结果。

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

于 2016-05-09T11:46:05.293 回答