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.origc:\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コマンドでやる場合は以下が参考になるでしょう。
- JapaneseTutorial - Mercurial
- 個人で簡単に使える分散バージョン管理ツール Mercurial, Mercurial で1人バージョン管理(複数マシンでの連携編) - まちゅダイアリー(2008-03-11)
hgコマンドとTortoiseHgとの対応関係は以下が参考になるでしょう。