SVN到Git标签在奇怪的位置

时间:2016-08-25 09:21:00

标签: git svn migration git-svn

我在SVN服务器上有几个项目。但是当我开始使用SVN服务器时,我不知道SVN设置应该如何。

所以我目前的SVN repo布局是这样的:

https://mysvn/svn
    trunk
        project1
        project2
    tags
        project1-tag1
        project1-tag2
        project2-tag1
        project2-tag2

经过一番思考后,我决定去Git,并按照SVN到Atlassian的Git教程,我能够定义我的自定义主干布局,但我的标签是个问题。

我可以使用命令

git svn clone --trunk=/trunk/project1/ --authors-file=authors.txt https://mysvn/svn/ Project1AsGit

但是如何在没有project1内部的project2标签的情况下合并标签?

1 个答案:

答案 0 :(得分:0)

git-svn 是用于一次性转换存储库的正确工具。如果您想将Git用作现有SVN服务器的前端,这是一个很棒的工具,但对于一次性转换,您应该使用git-svn,但svn2git是更适合这种用例。

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

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

您将能够设置规则文件,以便最终得到两个Git存储库,其中的东西正是您想要的位置,并且可以像您想要的那样命名,并且只需运行一次该工具。您甚至可以在此过程中将代码重命名为project1-tag1tag1,依此类推。