TeamCity 6.5 から( AppHarborにある)私の git リポジトリに対してテスト接続を行うと、このエラーが発生します。このエラーをもっと詳しく説明できる人はいますか?
001E# service=git-upload-pack の無効な広告
EGit を使用して Eclipse からプロジェクトをチェックアウトしようとすると、同じエラーが発生しました。私の場合、単に間違ったプロジェクト パスを指定しただけです。このエラーが発生したためにここに来た場合 -> まずリポジトリのパスを確認してください
Wireshark とのネットワーク インタラクションを確認したところ、TeamCity が使用する JGit がこのパケットを正しくないものとして扱っていることがわかりました。
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 はそのようなパケットを正しく処理します。
これWrite(string)
は、バイナリ書き込みに置き換えることで問題を解決します。その他のオプションは、response.Charset = null;
明示的に指定することです。
同様の問題を抱えているGitWebAccessに関する情報をテストし、ここで修正してプルリクエストを作成しました。