カレンダー

10 | 2009/11 | 12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -

ブログ内検索

Amazon商品一覧【カテゴリ別】

Ads by Google

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント

コメントの投稿




管理者にだけ閲覧を許可する

トラックバック

http://hiragino.blog74.fc2.com/tb.php/31-354c165a
この記事にトラックバックする(FC2ブログユーザー)

Windows Vista 環境で TortoiseHG(Mercurial)を利用してバージョン管理とバックアップを行う (5)

この記事は「Windows Vista 環境で TortoiseHG(Mercurial)を利用してバージョン管理とバックアップを行う (4)」の続きです。 前回までの説明で Windows ...

2008.05.07 | スィンプロ (sinproject)

[ソフトウェア] Mercurialの導入

TFTPの実装に入る前にTortoiseHg(MercurialのWindowsエクスプローラ用シェルエクステンション)をインストールし、バージョン管理が出来るようにします。

TortoiseHgはMercurialのフロントエンドですが、Mercurial本体も含んでいるので、別途、Mercurialをインストールする必要はありません。TortoiseHgをインストールするとエクスプローラの右クリックメニューにTortoiseHgの項目が追加されます。TortoiseHgのコマンドは全てこの項目の配下にあります。


では早速バージョン管理の練習をしてみましょう。ここではtestフォルダ配下のファイルをバージョン管理することにします。

最初にTortoiseHgメニューのCreate Repository Hereを実行し、testフォルダをバージョン管理対象にします。

Create Repository Menu Command

するとtestフォルダに.hgというフォルダが作られます。これがバージョン管理用のリポジトリです。testフォルダにはaaa.txt、bbb.txt、ccc.txtの3つのテキストファイルがありますが、この時点ではまだ、バージョン管理の対象となっていません。

フォルダ内のファイルのバージョン管理を行うには最初にそのファイルをMercurialのデータベースに登録する必要があります。ファイルの登録はTortoiseHgのAdd Filesメニューコマンドで行います。今回はaaa.txtとccc.txtを管理対象とします。

Add Files menu command

Add Filesコマンドを実行するとファイル登録用のダイアログが出てきますのでそこで、aaa.txtとccc.txtを選択し、ツールバーのAddを押します。

Files dialog

これでこの2つのファイルが管理対象となりました。

Added Files

ファイルをデータベースに登録しただけではまだファイルの更新内容がリポジトリ保存されていません。最新のファイルの内容をリポジトリに反映させるにはコミットを行う必要があります。TortoiseHgメニューの上にHg Commitの項目がありますのでそれを実行し、出てきたコミットダイアログでコメントを追加し、コミットします。

Commit menu command

Commit dialog

コミットされ、リポジトリと手元のファイル間に差分がなくなったファイルには緑色のチェックマークが入ります。

View Commitlog menu command

View ChangeLogコマンドを実行すると今までのチェンジログが確認できます。

View Commitlog menu command

実際に実行してみると、先ほどのコミット情報が追加されていることが確認できます。

Commit dialog

こうして更新したファイルのコミット繰り返して開発を進めていきます。もし、今、手元のファイルに対して行った変更を取り消してその内容を前回コミットした時点まで戻したい場合は、Undo Changesを実行すれば戻すことが出来ます。Undo Changesコマンドを実行すると手元のファイルが前回コミット時のものに差し替えられます。その際、最新のファイルはリネームされます。

Undo Changes menu command

さらに遡ってそれ以前にコミットした時点まで戻したい場合はUpdate to Revisionコマンドを使用します。こちらはUndoコマンドとは概念が異なり、リポジトリを指定したバージョンに戻すコマンドになります。そのため、このコマンドだけでは手元のファイルは変わらず、手元のファイルのバージョンを戻す場合は、さらにUndo Changesコマンドを使用して、手元のファイルと変更したリポジトリの内容を合わせてやる必要があります。

Checkout Revision menu command

Update to Revisionコマンドは変更先のバージョンを指定する必要があります。Mercurialのバージョンは人が理解し辛いハッシュ値になっているのでUpdate dialogのブラウズボタンを押して表示されるダイアログから目的のバージョンを探すのが楽でしょう。

Changelogダイアログのチェンジセットが表示されているリストのコンテキストメニューのCheckoutコマンドからもこのUpdateダイアログは呼び出せます。こちらの方が最初から戻すリビジョンが指定されているので使いやすいと思います。

Checkout Revision menu command

Update to Revisionでリポジトリのバージョンを変更するとMercuriaにlはバージョンが分岐したように見えます。View Changelogを確認するとどのような分岐をしているかイメージがつかめると思います。

Checkout Revision menu command

Marcurialはバージョン(チェンジセット)を14桁の数字で表現しますが、これでは人が分かりやすいように特定のチェンジセットにTagをつけることが出来ます。TortoiseHgはこの機能をまだサポートしていないようなのでhg.exe(Marcurial本体)を使って作業をします。コマンドプロンプトを起動し、下記のコマンドを実行すると現在のリポジトリの状態に指定したタグをつけることが出来ます。

# 現在のバージョンにVER_1_0をつけるコマンド
# (-mオプションはコミットログに追加するコメント)
hg tag -m "Add tag VER_1_0." VER_1_0

TortoiseHgからもTagをつけることが出来ました。Changelogのダイアログで任意のChangesetを右クリックすると表示されるコンテキストメニューに「add/remove tag」コマンドがありますのでそれを実行するとtagを追加削除するためのダイアログが表示されます。

Checkout Method

現時点ではTortoiseHgは一部の日本語が含まれるファイル名をうまく扱うことができません。なのでTortoiseHgで管理するファイルは全て英語にしておくと良いでしょう。

今回の開発ではこれを使ってプロジェクト管理をしていきます。

コメント

コメントの投稿




管理者にだけ閲覧を許可する

トラックバック

http://hiragino.blog74.fc2.com/tb.php/31-354c165a
この記事にトラックバックする(FC2ブログユーザー)

Windows Vista 環境で TortoiseHG(Mercurial)を利用してバージョン管理とバックアップを行う (5)

この記事は「Windows Vista 環境で TortoiseHG(Mercurial)を利用してバージョン管理とバックアップを行う (4)」の続きです。 前回までの説明で Windows ...

2008.05.07 | スィンプロ (sinproject)