2011-10-15 114 views
1

我从TeamCity 6.5对我的git存储库(位于AppHarbor)进行测试连接时出现此错误。任何人都可以更密切地解释这个错误吗?TeamCity和git存储库,连接失败

+0

您看过服务器日志吗? –

+0

teamcity日志没有任何额外的这个错误。只需重复相同的错误信息 – terjetyl

回答

2

这很可能是由基于JGit-TeamCity的客户端和AppHabor的WebGitNet为主的Git的实现之间的不良相互作用引起的001E#服务=混帐上传包的无效广告。提到相同的症状here。我会试着看看我们是否可以支持该补丁。

编辑:正如rarouš提到的,使用Github integration(或Bitbucket的git仓库)也是一个非常好的选择。

+0

Thx很多。只要让我知道你是否设法修补它,我将再次测试连接。爱Appharbor btw。这是一个很棒的服务。 – terjetyl

+2

您可以使用GitHub(与TeamCity一起工作)作为您的存储库,并将其与您的AppHarbor进行连接以进行部署。这是新功能https://github.com/blog/961-deploy-to-appharbor-from-github –

1

我检查网络交互使用Wireshark和我发现JGit其TeamCity的使用对待这个分组为不正确:

HTTP/1.1 200 OK 
Cache-Control: private 
Content-Type: application/x-git-upload-pack-advertisement; charset=utf-8 
Server: Microsoft-IIS/7.5 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
Date: Thu, 05 Jan 2012 09:56:30 GMT 
Content-Length: 255 

001d# service=git-upload-pack ... <other stuff> 

正是它是由charset=utf-8部分(进行呼叫response.Write(string)当其中加入)相混淆。虽然msysgit可以正确处理这些数据包。

This通过用二进制写替代Write(string)解决了该问题。其他选项是明确指定response.Charset = null;

我测试了GitWebAccess的信息,它有类似的问题,并提出修正here的请求。

0

当试图使用EGit从Eclipse检出项目时,我得到了相同的错误。就我而言,我只是给了错误的项目路径。如果您因为出现此错误而来到这里 - >首先检查您的存储库路径