9

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

fatal: index file open failed: Invalid argument

为什么会发生,我该如何解决?

谢谢。

4

2 回答 2

12

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

或者您可以使用 SubGit,它是从 svn 过渡到 git repo 的更完整和更强大的工具。在 GitMinutes #22 上聆听他的作者


回归是正在进行中已修复(目前 - 2013 年 10 月 - 在git repo的“next分支”中Bas Bossink在评论中确认:

我刚刚验证它在git 1.8.5.2.msysgit.0中已修复

请参阅jiangxin 提交7fbd42

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

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

所以让 relative_path 尊重 DOS 驱动器前缀。

于 2013-10-22T07:14:16.650 回答
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

于 2013-11-19T00:06:03.643 回答