Mercurialの名前付きブランチを試してみた

連投ですが、hbstudy #33のMercurialハンズオンで課題として挙がっていた、名前付きブランチを簡単にですが試してみました。
※defaultブランチは、ハンズオンの中で使っていたものをそのまま使っています。

名前付きブランチを作る

$ hg branch test_named_branch

適当にファイルを更新してコミット

$ vi glossary.rst
$ hg commit -m "modified glossary.rst"

リポジトリサーバにpush ※新しく作ったブランチをpushするときは --new-branch が必要

$ hg push http://localhost:8000 --new-branch

再び適当に編集してコミット

$ vi glossary.rst
$ hg commit -m "add contents to glossary.rst"

defaultブランチとコンフリクトするように編集してコミット

$ vi remote.rst
$ hg commit -m "modified remote.rst"

変更内容をpush

$ hg push http://localhost:8000/ 

defaultブランチに切り替え

$ hg update default

変更内容をpull ※updateをしても特にファイルに変更は生じない

$ hg pull http://localhost:8000
$ hg update

ブランチの内容をマージ

$ hg merge test_named_branch

コンフリクト内容を解決

$ hg resolve --list
$ vi remote.rst
$ hg resolme --mark remote.rst

マージした内容でリポジトリサーバにpush

$ hg commit -m "merged test_named_btanch to default branch."
$ hg push http://localhost:8000/

こんな感じで簡単にブランチ作成やブランチでの変更作業、切り替え、マージなどができました。
うん、簡単。