Svn2git 迁移:Repository/Project 并发症

Svn2git Migration: Repository/Project Complication

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

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

到目前为止,我尝试了很多教程,none 对我的目的有用。大多数教程建议我为每个项目创建一个存储库,我发现这不太好,因为这不是我的 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

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

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

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

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