windows - Windows 上的 git svn rebase 问题

标签 windows svn git cygwin msysgit

我对 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/

相关文章:

windows - Microsoft Windows 的终端多路复用器 - GNU Screen 或 tmux 的安装程序

c# - 确保派生进程的窗口位于主应用程序的前面?

svn - 如何忽略文件夹而不将其从我的存储库中删除

iphone - Xcode源码自动格式化

git - Mercurial 中的分支是否和 Git 一样好用?

c# - 特定文件类型的文件系统过滤器驱动程序

python - eb.exe部署“: Errno 13 Permission denied: './pagefile.sys'

svn - 如何显示来自 subversion 服务器的存储库列表

git - 使用 git filter-branch 删除除一个子目录之外的所有内容

git - 如何在 IntelliJ IDEA 中设置自动启用 "--no-ff"选项?