TortoiseHgとたわむれてみる

TortoiseHgは以下からインストールします。Mercurialも含まれています。TortoiseHg-0.8.1-hg-1.3.1.exeをVistaにインストールしました。なおインストール後再起動が必要です。
http://bitbucket.org/tortoisehg/stable/wiki/Home

コミットにはユーザ名が必要なので設定します。


とりあえず適当なファイルを作ります。

c:\work>mkdir hgtest

c:\work>cd hgtest

c:\work\hgtest>echo hello > test.txt

これを構成管理対象にします。


フォルダ構成はこんな感じになります。

c:\work\hgtest>dir /b
.hg
.hgignore
test.txt

ではコミットしましょう。右クリックメニューでtest.txt選択して「HG Commit...」選択します。

「View Changelog」でログも見れます。

ファイルを修正してみます。

c:\work\hgtest>echo hello2 >> test.txt

「Visual Diff」で差分が見れます。

「View File Status」で現在の状態が見れます。

「Revert Files」で変更を元に戻せます。

revertするとrevert前のファイルがtest.txt.origとして残ります。

c:\work\hgtest>dir /b
.hg
.hgignore
test.txt
test.txt.orig

c:\work\hgtest>type test.txt.orig
hello
hello2

「Clone a Repository」でcloneしてみましょう

clone先のフォルダ構成はこんな感じになります。

c:\work\hgtest2>dir /b
.hg
test.txt

修正します。

c:\work\hgtest2>echo hello2 >> test.txt

コミット後「Synchronize」を選択してpushします。

今度はclone元であるhgtestで「Synchronize」を選択してpullします。

この状態ではまだ変更は適用されていません。「Update to branch tip」ボタンを押して変更を適用します。

コンフリクトも試してみます。

clone元で以下のように修正してコミットします。

c:\work\hgtest>echo hoge >> test.txt

clone先で以下のように修正してコミットします。

c:\work\hgtest2>echo piyo >> test.txt

clone先でpullします。

mergeします。

c:\work\hgtest2>hg merge
merging test.txt

ただmergeツールはTortoiseHg標準のものよりもP4Mergeのほうがいいかも

P4Mergeは以下からダウンロードできます。再起動が必要です。

こんな感じで設定します。

見た目はこんな感じ。

失敗した場合は「Recovery...」からRollbackすれば大丈夫そうです。

ま、だいたいこんな感じでしょうか。

hgコマンドでやる場合は以下が参考になるでしょう。

hgコマンドとTortoiseHgとの対応関係は以下が参考になるでしょう。