Mercurial + Subversion 連携時の注意点
本エントリも、備忘録代わりに「お気に入り」に入れておいたツィートの棚卸しシリーズの一部です(笑)
Subversion 連携の際の、いくつかの注意点に関して、ツィート経由で得た情報をまとめておきます。
以前、以下のツィートを見かけました。
色々詳細を確認してみると、どうやら hg convert
時の認証周りの問題らしい、ということまではわかりました。どうやら以下のような状況です。
- hgsubversion 併用時の
hg clone
では認証成功 hg convert
では認証失敗
当時は(今でも?) hgsubversion の内部実装までは把握してなかったので、内部事情をご存知の方がいないか情報を求めてみたところ:
とのことでした。
確認してみると、確かに認証周りの実装は、convert エクステンションと比較して、hgsubversion は色々と作り込んであります。特に、KeyRing やら Windows の認証機構を利用するものが充実してますね。
結論としては以下のようになります。
HTTP/HTTPS 経由で認証付きの Subversion 連携をする場合は、hgsubversion エクステンションンの使用を推奨。
但し、ホスティングサービスのような、HTTP ベーシック認証ベースのものは、convert エクステンションでも大丈夫。
SSH 経由の場合は、認証周りの処理が SSH に閉じますので、上記のような問題は発生しません(しない筈です)。
それから、HTTPS で独自証明書を使っているようなサーバと、hgsubversion を使った Subversion 連携に関しては、以下のツイートが参照しているページで、手順が詳しく説明されています。