使用svn2git将SVN迁移到GIT失败
我正在尝试使用将存储库从SVN迁移到GIT。这是一个开源项目,公共SVN存储库Url为:。请随意测试迁移 SVN存储库结构为:使用svn2git将SVN迁移到GIT失败,git,svn,Git,Svn,我正在尝试使用将存储库从SVN迁移到GIT。这是一个开源项目,公共SVN存储库Url为:。请随意测试迁移 SVN存储库结构为: 分支机构 标签 树干 我使用以下命令克隆此Repo: svn2git http://svn.verinice.org/svnroot --trunk TRUNK --branches BRANCHES --tags TAGS 但是这个命令只迁移一个分支,根本没有标记。我使用以下命令检查结果: [user@forge git-repo]# git
- 分支机构
- 标签
- 树干
svn2git http://svn.verinice.org/svnroot
--trunk TRUNK
--branches BRANCHES
--tags TAGS
但是这个命令只迁移一个分支,根本没有标记。我使用以下命令检查结果:
[user@forge git-repo]# git branch -a
* master
springy
remotes/springy
[user@forge git-repo]# git tag -l
[user@forge git-repo]#
如何迁移所有分支和标记?
谢谢你的帮助
更新:
使用参数--authors-authors-file.txt并将名称和电子邮件地址添加到git配置svn2git后,效果良好:
git config --global user.name "your name"
git config --global user.email "your@email.com"
您必须为authors-file.txt中的每个SVN用户添加一行:
svn用户名=全名
git branch-a和git tag-l现在返回所有的分支和标记。我没有使用svn2git的经验,但是您可以尝试使用
git svn clone
切换到git。请注意,这将需要很长时间。有关更多信息,请参阅git help svn
请注意,这不会在git中创建正确的标记,很可能是由于svn2git常见问题解答中讨论的git和svn标记的不同。相反,该工具将创建标记分支。如果您想将这些标记转换为正确的标记(因为我假设您根本不会回到SVN,这应该不会造成任何伤害),这里讨论了如何编写脚本来实现这一点。需要知道的是,所有这些工具都是在git的本机SVN支持git SVN的基础上构建的。因此,可以直接使用git svn进行克隆、获取变更集等,但最好只有一个脚本/工具来帮助我们在迁移过程中完成所有操作,因此需要此类工具
我使用了上托管的svn2git包装器脚本进行subversion到git的迁移,这确实很有帮助,特别是当我们希望定期从subversion存储库中提取变更集时,因为明显的原因,我们没有完全关闭subversion repo。您可以通过ruby包装器脚本migration.rb了解更多信息。也可以。分支而不是标记是无害的-可以接受。
svn-user-name = Full Name <email@address.com>