我对 git 有疑问。
基本上,这就是我所拥有的。我通过 git 访问 svn 存储库。到目前为止,在 python 文件上,一切正常。
但最近我还在存储库中添加了一些 pyd、dll 和 lib 文件。第一次更新很顺利。但是,这些文件已被修改,从那时起我无法更新。这些文件是从带有 TortoiseSvn 的 Windows 计算机添加到 svn 存储库中的。
如果我在 linux 上执行 git svn rebase,一切正常。
如果我使用 msysgit(以及 tortoisegit)在 Windows 上执行 git svn rebase,我会出现以下错误:fatal: write error: Invalid argument
如果我使用 cygwin 在 Windows 上执行 git svn rebase,我会出现以下错误:在/usr/lib/perl5/vendor_perl/5.10/Git.pm line 916 处没有找到 blob 之后的换行符强>
我尝试了几种方法(autocrlf true/false、safecrlf true/false),添加带有以下行的 .gitattributes 文件 *.* -crlf -diff -merge 但没有任何效果。
我有点卡在这里,所以欢迎任何建议。
提前致谢。
最佳答案
与 Msysgit v1.7.2.3 有相同的问题,最新版本截至 2010 年 9 月 29 日,并想在这里分享我的发现(谷歌发现了几个案例,但没有解决方案)。
尝试在一个仓库上执行“git svn rebase”(这在过去已经工作了很多次)在一定数量的提交后始终失败并出现“致命:写入错误:无效参数”。然后同步将再次恢复到开始。
我相信这是 Msysgit 中与大型(多)二进制文件和可用内存相关的错误(在具有 4GB RAM 和大量可用 HD 空间的 Win XP SP3 系统上)。远程系统是 CodePlex (https://dotnetnuke.svn.codeplex.com/svn) 上的 DotNetNuke SVN 存储库。
最初它被一个 330KB 的“CHM”文件(~第 212 次提交,r52261)窒息。它一直这样做,即使在禁用 Avast AV、Google 桌面等并验证没有其他进程锁定 repo 文件夹之后也是如此。重新启动后(但打开 Outlook、Dreamweaver 等),它在 ~15.3MB DLL(~第 416 次提交,相同的修订版)上一直反复失败。
最后,在再次重启、禁用 Avast、Carbonite 和 Google Desktop 并且不运行其他程序后,同步第一次成功了。
这似乎坚定地表明我的结论是可用内存问题,可能与修订版中存在较大的二进制文件和大量提交有关。请注意,我还尝试了“git fsck”、“git svn reset xx”并调整了“packSizeLimit”/“usedeltabaseoffset”配置变量,但没有成功。
关于windows - Windows 上的 git svn rebase 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2057556/