Mercurial には subrepository といって、リポジトリをどんどんネストしていく便利な機能があるんだけど それ関連でハマったことのメモ。
ついさっき、 google code に置いてあるリポジトリを subrepository
として持っているリポジトリで hg push
とやると、
pushing subrepo XXX to https://XXX.googlecode.com/hg
abort: invalid certificate for XXX with fingerprint XX:XX:...(略)
と怒られてしまう問題に遭遇。
CA certificate 関連だと、この辺
…を参考にすれば解決するかな、と思って
hg push --insecure
hg push --config web.cacerts=
hg push --config web.cacerts=/etc/ssl/certs/ca-certificates.crt
とかを色々試していたけど上手くいかない。
これ、実は google code の URL が
https://XXX.googlecode.com/hg
から
https://code.google.com/p/XXX/
に変わっていたのが原因。なので、 .hgsub
の
XXX = https://XXX.googlecode.com/hg
の行を
XXX = https://code.google.com/p/XXX/
に変更すればOK!
なんて分かりにくいエラーメッセージなんだ… そして google code はいつの間に URL 変わったんだ…
という訳で、 CA certificate 関連で怒られていると思いきや、 URL が変わっているだけ、ってことがあるので気をつけたいですね!!