彷徨えるフジワラ

年がら年中さまよってます

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 連携に関しては、以下のツイートが参照しているページで、手順が詳しく説明されています。