2009-12-14 30 views
3

当我尝试克隆远程svn存储库时,出现了奇怪的情况。git svn fetch fatal:写入错误:无效的参数

当I型:
的git svn的取

GIT中将获取所述第一修订20远程存储库的,然后在经过20次修改失败一些点,只是提示以下错误消息。

致命:写入错误:无效的参数

然后只是坐在那里什么也不做。重复相同的git init,然后重新提取,结果与报告致命错误的地方完全相同。

任何想法可能会导致这种情况发生?我目前正在运行以下版本:

TortoiseGit 1.2.1.0
Git版本1.6.4.msysgit.0

+0

你下载了Git或msysgit源代码吗? – VonC 2009-12-14 12:53:26

回答

1

我所用,当我遇到了这个错误,原始版本是:TortoiseGit-1.0.2.0-32bit.msi

由于检查出从Git仓库的GIT的源代码,也msysGit的源代码我找不到此错误消息的任何位置。

然后我更新以下TortoiseGit版本: TortoiseGit-1.2.1.0-32bit.msi

然后我跑正好在远端仓库相同的git命令和它的工作。因此,将以前的经验与GIT和Windows链接起来,如果将来有人遇到问题,我会得出以下过程。

1)检查更新,并在调试前更新到最新版本
2)尝试在旧版本中调试不会有帮助,问题可能在新版本中得到修复。

链接到我以前在这个问题上的经验: Link

+0

有趣的反馈。 +1 – VonC 2009-12-14 14:25:12

1

如果排除明显的原因(没有留下任何磁盘空间!),也可能是链接到远程SVN存储库的布局问题(分支不在分支子目录中,标签不在标签中...)。 有关SVN回购的示例,请参阅Using git-svn with non-standard repository layouts

其他情况下自找麻烦:一个SVN repo which has changed its layout since the last import

另见mmap issues in Windows

+0

嗨Vonc,我跳过这将是解决问题的办法。我走开并了解了Refs/remotes /以及GIT和远程仓库的情况。尽管如此,问题在于,即使在尝试建议的方法时,GIT svn仍会报告相同的错误。 – Chad 2009-12-14 11:31:48

+0

当前下载GIT源代码,找到这个问题的来源。 – Chad 2009-12-14 11:35:20

+0

下载并检出了我正在运行的GIT版本。在尝试甚至追捕并找到错误消息的来源方面没有成功。 – Chad 2009-12-14 11:53:12

3

曾与Msysgit v1.7.2.3,最新的版本在10年9月29日相同的问题,并想在这里分享我的发现(谷歌出现了几种情况,但没有解决方案)。

试图对repo(这在过去大量的工作中)执行“git svn rebase”,在一定次数的提交之后,一直失败,出现“致命的:写入错误:无效的参数”。然后同步将再次恢复到开始。我相信这是Msysgit中有关大型(ish)二进制文件和可用内存(在Win XP SP3系统上具有4GB RAM和大量免费HD空间)的错误。远程系统是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 Desktop并且不运行其他程序,该同步工作第一次。

这似乎坚定地指出了我的结论:这是一个可用的内存问题,可能与修订中存在大量二进制文件和大量提交相关。请注意,我也尝试过“git fsck”,“git svn reset xx”和调整“packSizeLimit”/“usedeltabaseoffset”配置变量,但没有成功。

乍得 - 它可能是你有同样的问题,这是帮助,而不是升级重启。

+0

我遇到与37 MB文件相同的问题。我会尽量释放可用的内存,看看它是否有帮助。 – 2011-01-14 18:54:43

+0

它没有帮助。我终于切换到了Linux系统,并且能够克隆我的Subversion存储库(7000转,900 MB)而没有任何问题。 Windows上的Git真的很糟糕。 – 2011-01-17 20:58:38

+0

我杀死了Tortoise Git Cache进程,但没有成功。然后我重新启动了系统并使用了工作的命令行。 – 2013-02-13 08:43:58

2

我有类似的问题,当我试图获取大远程回购。 我从开始就尝试了好几次,并且所有时间都在大致相同的版本〜400(或者完全相同 - 我没有太在意)中得到这个错误。 谷歌搜索没有给出答案。 比我拿我的萨满鼓,并试图杀死TSVNCache.exe和TGitCache.exe进程。 之后,我没有看到该错误消息。由于互联网中断,我多次重复提取过程 - 一切正常(总修订〜3000),看起来问题没有了。

我的猜测是其中一个进程锁定了一些git使用的文件。

注意:如果您杀死该进程并启动资源管理器,它们将再次启动。

1

杀死TGitCache为我工作。我讨厌说TortoiseGit真的不是TortoiseSVN的地方......太糟糕了。

0

我有同样的问题,在我的.git有一些奇怪的文件:

$ ls .git 
1N4s5Mx6eD 
3gRNi8l7yb 
config 
... 

我删除那些(1N4s5Mx6eD3gRNi8l7yb ...)我可以继续git svn fetch后。

我认为那个网络问题是我的原因,因为git svn在大文件之后失败,因为这个文件很可能出现网络传输错误。

相关问题