我第一次在Windows上使用git-svn,git svn rebase
显示错误:
fatal: index file open failed: Invalid argument
为什么会这样,我该如何解决?
感谢。
答案 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 repo)
Bas Bossink确认in the comments:
我刚刚确认它已在git 1.8.5.2.msysgit.0
中修复
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