将SVN存储库转换为Git时发生致命错误

将SVN存储库转换为Git时发生致命错误,git,svn,git-svn,git-clone,Git,Svn,Git Svn,Git Clone,我正在尝试使用以下内容克隆Subversion存储库: git svn clone svn://adress/repo --stdlayout 我在r119附近遇到一个错误: 我试着在r119结帐Branchs/Mikael,但TortoiseSVN告诉我它不存在 如果我查看日志,我可以看到: 119 : /branches/Mikael added (en empty folder) 120 : /branches/Mikael deleted 121 : /branches/Mikael/

我正在尝试使用以下内容克隆Subversion存储库:

git svn clone svn://adress/repo --stdlayout
我在r119附近遇到一个错误:

我试着在r119结帐Branchs/Mikael,但TortoiseSVN告诉我它不存在

如果我查看日志,我可以看到:

119 : /branches/Mikael added (en empty folder)
120 : /branches/Mikael deleted
121 : /branches/Mikael/file.txt added
我能做什么


编辑:我尝试了Git的其他版本,1.7.8、1.7.9、1.7.10和1.7.11,从零开始,使用相同的命令,它们在r119都失败了,原因相同。

尝试-preserve empty dirs,因为很明显dir是空的。此外,git svn最近也有了很大的改进;我遇到了一个在2.2.x中仍然存在的问题,与开发人员一起工作并应用了一个补丁,然后在2.2.x IIRC后期修复了这个问题。另一件需要记住的事情是,git希望在区分大小写的文件系统上运行,如果SVN repo托管在区分大小写的文件系统上,那么至少区分大小写总是安全的。因此,如果您在Windows或Mac上,可能需要创建区分大小写的文件系统,或者只在linux机器或VM上进行转换。如果您记录了对该分支的更改,显示该分支已被删除,然后又被修改,那么您的SVN repo可能会以某种方式损坏。您可能需要跳过已删除的修订。如果您已经尝试了所有其他方法,并且想要尝试跳过修订,.

看起来像git svn bug。你试过最新版本的git svn吗?我正在使用mySisGit-1.7.11中的git bash我试过git diff v1.7.11..在我克隆的git源代码树中掌握git-svn.perl,diff超过3500行文本,其中大部分是由于git svn被模块化,从1.7.11版开始,很多东西都转移到了可重用的模块上——现在有很多使用Git:SVN:xxx子句的方法。刚刚尝试了Git 1.7.8、1.7.9、1.7.10,同样的东西=c可能是因为我从原来的地方回来了。我建议给最新的Git-SVN一个机会,并更新你关于成功的问题。git svn的模块化表明,有人打算以某种重要的方式更新git svn。如果更新的git svn也不能完成任务,那么git邮件列表可能也会有所帮助。如果让最新的git克隆git/git svn在Windows中运行太麻烦,那么您可以使用Linux进行此测试,例如在虚拟机中运行。