Git svn fetch在某些提交时失败,并且没有这样的文件或目录"在mkdir上。有什么办法吗?

时间:2015-06-21 20:38:39

标签: git svn version-control

我试图将存储库从SVN切换到Git,并且我遇到了初始提取的问题。我在SVN中有大量的分支/标签,我想我已正确导入它们,但是导入仍然因此错误而死:

mkdir .git / svn / refs / remotes / svn / tags / vss-labels / Max发送500> 2000试用版:  /usr/lib/perl5/site_perl/Git/SVN.pm第2349行没有这样的文件或目录

错误始终是针对相同的标记名称,但在历史记录中的不同位置。存储库中有大约23000个提交,到目前为止,这已经停止了20次。我已经设法通过跳过它试图合并和继续前进的提交来绕过它,但这似乎并不像#34;对"解。我想弄清楚的是:

- 有没有办法自动忽略错误并继续前进?这个导入已经运行了3天了,我希望能够在没有照顾它的情况下运行它。 - 有没有办法真正解决错误?我认为这与标签名称有关,但更改SVN中的标签只会生成新的提交,因此无法修复历史记录。如果解决方案是永久删除旧版本中的标签,我很好,我只需要从历史记录中删除它。

我目前正在尝试使用所有分支进行第二次导入而不使用任何标记,然后手动转换我需要引用特定提交的标记,但如果有方法可以干净地导入这些标记,那么我宁愿使用它。

2 个答案:

答案 0 :(得分:0)

我得到同样的错误:

> git svn fetch
mkdir .git/svn/refs/remotes/origin/aux: Not a directory at /usr/lib/perl5/site_perl/Git/SVN.pm line 2349

在我的情况下,问题是aux在Windows上不是有效的文件/目录名。没有找到解决方法。

答案 1 :(得分:0)

所以答案就是切换工具。我使用subgit 3.0导入存储库,经过一些来回手动映射分支后,它运行良好。绝对是任何想要过渡的人的推荐。我只是用它进行一次导入,而不是持续集成,但工具也能够做到这一点。此外,即使对于免费用户,他们的支持也很棒!