我有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
我已经尝试了近一天的方法,到目前为止没有运气。转换存储库不应该令人沮丧和复杂。任何人对此事都有一个坚实的想法?
答案 0 :(得分:-1)
有一些称为svn2git
的简单工具,但是根据你的问题,我猜你没有使用https://github.com/svn-all-fast-export/svn2git中的KDE。我强烈建议您使用svn2git
工具。这是我所知道的最好的,它可以非常灵活地使用它的规则文件。
您可以轻松地为布局配置它,以获得您想要的结果。
如果您不是100%关于存储库的历史记录,http://blog.hartwork.org/?p=763中的svneverever
是一个很好的工具,用于在将SVN存储库迁移到Git时调查SVN存储库的历史记录。