2013-12-15 61 views
1

我刚刚安装了TFS2013服务器(12.0.21005.1 Tfs2013.RTM)并使用Gi​​t作为源代码管理提供程序创建了一个集合。我在Linux上使用了visual studio和Git来推送一些提交,一切正常。然而,对于大的提交,该进程失败:添加大量的文件,犯的是,推动分支导致以下的输出:TFS2013无法处理大型git提交

Counting objects: 17681, done. 
Delta compression using up to 32 threads. 
Compressing objects: 100% (17680/17680), done. 
error: RPC failed; result=22, HTC code = 400 
fatal: The remote end hung up unexpectedly 
Writing objects: 100% (17680/17680), 125.43 MiB | 40.53 MiB/s, done. 
Total 17680 (delta 7976), reused 1683 (delta 364) 
fatal: The remote end hung up unexpectedly 
fatal: expected ok/error, helper said '2004}[unintelligible gibberish 
Unintelligible gibberish]' 

有趣的是,这似乎并没有在任何TFS日志显示出来 - 因为尽管它完全被忽略了。即使在tfs:8080/tfs/_oi中,Git动作确实出现(ReceivePackHandler),也没有活动迹象。这可能会被IIS拒绝,但我不明白为什么和日志不起作用。

顺便说一下,在15674文件C#项目中,添加的文件是405MB。

+0

这很奇怪;您的网络上的代理服务器?你在LAN还是WAN?这是否需要很长时间才能出现故障或者是否很快失效? –

+0

服务器上的IIS日志和事件日志说什么? – jessehouwing

回答

2

问题是由于使用旧版本的git造成的。如上图所示,Debian 6附带的Git 1.7.2.5失败。 Git 1.8.1.3能够正常工作。我猜测这与智能HTTP传输的变化有关。不完全是我所说的优雅退化,虽然...

+1

那么,升级到最新版本的Git修复了它? – jessehouwing

+0

这仍然是奇怪的;我仍然喜欢了解这里失败的原因。 –

+0

@ jessehouwing,是的。 – lutzky