我的git有问题。
基本上,这就是我所拥有的。我通过git访问svn存储库。到目前为止,在python文件上,一切正常。
但最近我还在存储库中添加了一些pyd,dll和lib文件。第一次更新进展顺利。但是,这些文件已被修改,从那时起我无法更新。这些文件是在带有TortoiseSvn的Windows计算机上添加到svn存储库中的。
如果我在linux上执行git svn rebase,一切正常。
如果我使用msysgit(以及tortoisegit)在Windows上执行git svn rebase,我会出现以下错误:致命:写入错误:参数无效
如果我在使用cygwin的Windows上执行git svn rebase,我会出现以下错误:在/usr/lib/perl5/vendor_perl/5.10/Git.pm第916行的blob后找不到换行符
我尝试了几个东西(autocrlf true / false,safecrlf true / false),添加了.gitattributes文件,其中包含以下行*。* -crlf -diff -merge,没有任何效果。
我有点卡在这里,所以任何建议都会受到欢迎。
提前致谢。
答案 0 :(得分:3)
与Msysgit v1.7.2.3完全相同,这是截至9月29日的最新版本,并希望在此分享我的发现(谷歌出现了几个案例,但没有解决方案)。
尝试在repo上执行“git svn rebase”(过去曾经有过很多次),在一定数量的提交后,一直失败的是“致命:写入错误:无效的参数”。然后,同步将再次恢复到开头。
我相信这是Msysgit中的一个错误,涉及大型(ish)二进制文件和可用内存(在具有4GB RAM和大量免费高清空间的Win XP SP3系统上)。远程系统是CodePlex上的DotNetNuke SVN回购(https://dotnetnuke.svn.codeplex.com/svn)。
最初它在330KB“CHM”文件(~212th commit,r52261)上窒息。即使在禁用Avast AV,Google桌面等并验证repo文件夹上没有其他锁定进程之后,它也始终如此。重新启动后(但打开Outlook,Dreamweaver等),然后一致且反复失败~15.3MB DLL(~416次提交,同一版本)。
最后,在重新启动,禁用Avast,Carbonite和Google桌面并且不运行其他程序后,同步首次运行。
这似乎坚定地指出我的结论是它是一个可用的内存问题,可能与修订版中存在大量二进制文件和大量提交有关。请注意,我还尝试了“git fsck”,“git svn reset xx”并调整了“packSizeLimit”/“usedeltabaseoffset”配置变量,但没有成功。
答案 1 :(得分:1)
我发现在Windows上使用Git的最佳策略是告诉它不要对行结尾做任何事情。
我不知道这是否会帮助您恢复当前的git repo,但值得一试。
我设置:
[core]
autocrlf = false