我在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标签的情况下合并标签?
答案 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-tag1
到tag1
,依此类推。