git svn rebase索引文件打开失败:参数无效

时间:2013-10-22 06:54:42

标签: git git-svn

我第一次在Windows上使用git-svn,git svn rebase显示错误:

fatal: index file open failed: Invalid argument

为什么会这样,我该如何解决?

感谢。

2 个答案:

答案 0 :(得分:12)

如果您在Windows上使用msysgit,则会有regression on msysgit1.8.4 for git-svn 它似乎在CMD中执行时出现,而不是在bash shell中执行,因此您可以在shell中尝试相同的命令。

或者你可以 SubGit ,这是一个更加完整和强大的工具,可以从svn过渡到git repo。 Listen to his author at GitMinutes #22


回归正在进行修复(目前 - 2013年10月 - 在'next' branch of the git repoBas Bossink确认in the comments

  

我刚刚确认它已在git 1.8.5.2.msysgit.0

中修复

commit 7fbd42点击jiangxin

  

Tvangeste发现如果“in”和“prefix”具有DOS驱动器前缀(例如“C:/ windows”),则“relative_path”函数无法在Windows上正常工作。 ($gmane/234434

     

,例如,当执行:test-path-utils时,relative_path "C:/a/b" "D:/x/y"应返回“C:/a/b”,但会返回“../../C:/a/b”,这是错误的。

     

因此,使relative_path荣誉DOS驱动器前缀。

答案 1 :(得分:0)

当使用--separate-git-dir与工作目录和git目录在不同的驱动器上时(我的网络驱动器上的git),我看到了这个问题。作为一种解决方法,我已经确认您可以使用mklink(以管理员身份运行)来映射目标驱动器: mklink / d“C:\ temp \ my-git-dir”“D:\ my-git-repo \”

然后像下面这样的东西会产生一个可行的回购和工作目录。 git clone --no-hardlinks repo_url --separate-git-dir = D:/ my-git-repo C:/ temp / my-working-dir