MercurialとSubversionの連携
Subversionで管理しているリポジトリをマスタとして、後は自分でローカルにbranch分けていろいろしたい!と思っていたので、表題についてはずっと憧れてた。
今回なんとか導入出来たので、その手順など。
環境は中央リポジトリはsvnでWindows2003、クライアントはWindows7。
参考:
HgSubversion
HgSubversionでMercurialとSubversionを連携させる
hgsubversionの導入
hgsubversionでFreeBSD svnをもってくる
だいたい↑のところを見ていたらなんとかなる。
連携のためにやること。
- Subversionのインストール
- Mercurialのインストール
- hgsubversionのインストール
- Mercurialファイルの設定
- svnのクローンを作ってリポジトリ
Subversionのインストール
TortoiseSVNではだめらしいので、Apatch Subversionの何かしらをダウンロード。コマンドを提供してないとだめ!らしい。
参考にしたHPのLinkをたどってmsiをダウンロード。
→今回ダウンロードしたバージョン(Setup-Subversion-1.6.6.msi)
Mercurialのインストール
これはTortoiseHgでよい。インストールされるし、パスも通る。
TortoiseHgをインストールしました。デフォルトまんま。
→バージョン:tortoisehg-2.2-hg-2.0-x86.msi
hgsubversionのインストール
MercurialとSubversionの連携に必要。
コマンドライン(コマンドプロンプト)でインストール。
# プロキシの場合で接続しているときは、プロキシをセット。 set http_proxy=XX.XX.XX.XX:ポート番号 # ダウンロードしたいディレクトリに移動後、ダウンロードのコマンドを実行。 hg clone http://bitbucket.org/durin42/hgsubversion # パラメタにインストールパス指定してもいいよ。 hg clone http://bitbucket.org/durin42/hgsubversion win32text is deprecated: http://mercurial.selenic.com/wiki/Win32TextExtension abort: error: getaddrinfo failed
なんかエラーが出る。wikiを確認したら、Mercurialの環境設定ファイルに以下を追記しろとのこと。
[win32text] warn = False
メモ)
環境設定ファイルの場所はどうやら一定じゃないらしい。ダウンロードしたバージョンやOSによるのかも。
TortoiseHgは(Windows) %USERPROFILE%\Mercurial.iniにありました。
(Windows) %USERPROFILE%\.hgrc
(Windows) %USERPROFILE%\Mercurial.ini
(Windows) %HOME%\.hgrc
(Windows) %HOME%\Mercurial.ini
(Unix, Windows)
Configure your hgrc to enable the extension by adding the following lines:
Mercurial環境設定ファイルへ追記
ダウンロードしたhgsubversionへのパスを指定。
hgsubversionが二つ出来ているので、二つ目までをパスに指定。
[extensions] hgsubversion = (任意のダウンロードディレクトリ)/hgsubversion/hgsubversion
次!にsvnのための追記。
[extensions] rebase= svn=(任意のダウンロードディレクトリ)/hgsubversion/hgsubversion
これでsvn://に対してダウンロード(クローン?)が可能になる。