« RedmineがVer2.0でRails3へ移行予定 | トップページ | IPAの定量的プロジェクト管理ツール #redmine »

2012/04/29

Mercurialのhgsubversion資料

@cointoss1973さんのMercurialのhgsubversion資料が公開されていたのでメモ。
SVNがmasterとして存在していて、クライアント側でMercurialを使う時にどのような点に注意すればよいか、とても詳しく分かりやすく書かれている。
git-svnでも同様の考え方を適用できるだろう。

以前、TorotiseHg+hgsubversionを試したけれど、まだ発展途上だった。
でも今は実用に耐えれるレベルになってきたようだ。

TortoiseHg2.03でhgsubversionが動くようになった: プログラマの思索

TortoiseHg+hgsubversionの導入方法: プログラマの思索

hgsubversionの使い道は、マスターリポジトリがSVNであり、SVNから移行できない場合にMercurialをクライアントのラッパーとして扱う時だろう。
Git使いがgit-svnを使う理由と同じだ。
クライアントで分散バージョン管理が使えるようになることで、バグ修正や機能追加のパッチをtrunkと同期させながらトピックブランチで試すことができる。

A successful Git branching model: プログラマの思索

git-flow による構成管理とRedmineの関係: プログラマの思索

但し、hgsubversionにはいくつかの指摘が上記で示されている。
一つは、コミット履歴に分岐が発生しないように直線的になるようにすること。
SVNは複数のheadを保持することは当然できないから。
だから、rebaseを使ってコミット履歴に挿入したり、transplantでコミット履歴のheadへマージしたりする。

rebaseのイメージ: プログラマの思索

Mercurialの黒魔術: プログラマの思索

もう一つは、ファイル名が日本語のファイルには対応していないこと。
以下のBlogによれば、fixutf8を使えば大丈夫らしい。

HgSubversionでMercurialとSubversionを連携させる - azuki note

分散バージョン管理には、チケット駆動開発以上にたくさんの可能性があると思う。

|

« RedmineがVer2.0でRails3へ移行予定 | トップページ | IPAの定量的プロジェクト管理ツール #redmine »

廃止Mercurial」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« RedmineがVer2.0でRails3へ移行予定 | トップページ | IPAの定量的プロジェクト管理ツール #redmine »