使用svn2git SVN到GIT迁移失败

uı6*_*uɐp 7 svn git

我正在尝试使用svn2git将存储库从SVN迁移到GIT .它是一个开源项目,公共SVN存储库Url是:http://svn.verinice.org/svnroot/.随意测试迁移...

SVN存储库结构是:

  • 分支机构
  • TAGS
  • 树干

我使用以下命令来克隆此Repo:

svn2git http://svn.verinice.org/svnroot 
  --trunk TRUNK 
  --branches BRANCHES 
  --tags TAGS
Run Code Online (Sandbox Code Playgroud)

但是此命令仅迁移一个分支而根本不迁移任何标记.我使用这些命令来检查结果:

[user@forge git-repo]# git branch -a
* master
  springy
  remotes/springy
[user@forge git-repo]# git tag -l
[user@forge git-repo]# 
Run Code Online (Sandbox Code Playgroud)

如何迁移所有分支和标签?谢谢你的帮助!

更新:

使用参数--authors authors-file.txt并将名称和电子邮件地址添加到git配置svn2git后工作正常:

 git config --global user.name "your name"
 git config --global user.email "your@email.com"
Run Code Online (Sandbox Code Playgroud)

您必须在authors-file.txt中每个 SVN用户添加一行:

 svn-user-name = Full Name <email@address.com>
Run Code Online (Sandbox Code Playgroud)

git branch -agit tag -l现在返回所有分支和标签.

Jus*_*roy 10

我没有使用svn2git的经验,但你可以尝试用来git svn clone切换到git.请注意,这将花费很长时间.有关git help svn更多信息,请参阅

请注意,这不会在git中创建正确的标记,很可能是由于svn2git FAQ中讨论的git和svn标记的不同.相反,该工具将创建标记分支.如果你想将这些成适当的标签(和因为我假设你会不会在所有要回SVN,这应该不会造成任何伤害),有一个讨论,在这里了解如何编写一个脚本来执行只是.