Eclipse 4.4 Luna on OS X + Egit で, HTTPS proxy (Squid)経由で bitbucket.org のレポジトリを clone して import しようとすると, Import Projects from Git のLocal Destination の次の Cloning from のところで,
Problem Occurred
Git repository clone failed.
https://user@bitbucket.org/user/repository.git: -1 null
というalert が出て失敗する. org.eclipse.dltk.core.index.sql が, An exception has thrown while indexing document / performing search だそうだ.
Eclipse > Preferences > General > Network Connections の HTTPS proxy はもちろん指定している.
このエラーはこの特別な場合にのみ発生する. すなわち,
- 同じ状況で, github.com からは clone できる
- 同じ状況で, Eclipse でなく command line git を(https_proxy 環境変数を設定して)使うと clone できる
- 同じ状況で, firewall 外で proxy を使わない(Eclipse > Preferences > General > Network Connections で Active Provider=Directとする)なら clone できる
したがって, bitbucket, Egit, Eclipse, proxy (Squid) のいずれか(またはその設定)に, この状況下で顕在化する不具合があると考えられる.
このエラーを回避する1つの方法. ~/.gitconfig
[http]
sslverify=false
または Eclipse > Preferences > Team > Git > Configuration > User Settings で, http.sslverify=>false を Add Entry すればよい.
これは, SSL証明書を検証するな, という大胆な設定. しかし, 上記の不具合は, この検証プロセスにあるのか, 問題なくcloneできるようになる.
http.sslverify=>false という設定は, 様々な不具合の workaround としてWeb上でよく紹介されている. しかし, 大胆な設定であることにかわりはない.
なお, 今の場合, proxy 経由でない場合にはエラーにならないのだから, ローカルにcertificateをインストールしていない, みたいな簡単な話ではない.