Commits

Takayuki KONDO committed c449d41

tortoisehg 日本語マニュアル追加 363469612470 ベース

  • Participants

Comments (0)

Files changed (106)

File thg/html/.buildinfo

+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 5dd3ab658d8fe081afcf6acafaad603f
+tags: fbb0d17656682115ca4d033fb2f83ba1

File thg/html/_images/advancedbar.png

Added
New image

File thg/html/_images/annotate.png

Added
New image

File thg/html/_images/clone.png

Added
New image

File thg/html/_images/cmenu-files.png

Added
New image

File thg/html/_images/cmenu-global-settings.png

Added
New image

File thg/html/_images/cmenu-nofiles.png

Added
New image

File thg/html/_images/commit.png

Added
New image

File thg/html/_images/email.png

Added
New image

File thg/html/_images/email1.png

Added
New image

File thg/html/_images/guess.png

Added
New image

File thg/html/_images/hgcmd.png

Added
New image

File thg/html/_images/ignore.png

Added
New image

File thg/html/_images/import.png

Added
New image

File thg/html/_images/init.png

Added
New image

File thg/html/_images/log.png

Added
New image

File thg/html/_images/nautilus.png

Added
New image

File thg/html/_images/overlayicons.png

Added
New image

File thg/html/_images/parentbar.png

Added
New image

File thg/html/_images/patchqueue.png

Added
New image

File thg/html/_images/recover.png

Added
New image

File thg/html/_images/search.png

Added
New image

File thg/html/_images/searchbar.png

Added
New image

File thg/html/_images/serve.png

Added
New image

File thg/html/_images/settings.png

Added
New image

File thg/html/_images/share.png

Added
New image

File thg/html/_images/shelve.png

Added
New image

File thg/html/_images/syncbar.png

Added
New image

File thg/html/_images/synchronize.png

Added
New image

File thg/html/_images/taskbarui.png

Added
New image

File thg/html/_images/visual-diff.png

Added
New image

File thg/html/_sources/changelog.txt

+チェンジログ
+============
+
+.. module:: changelog.dialog
+	:synopsis: チェンジログを表示するダイアログ
+
+チェンジログビューア (別名:リポジトリエクスプローラ) はリポジトリのリビジョン履歴を可視化し、
+チェンジセットに対して様々な操作をするのに使用され、リビジョン履歴をグラフ化し、
+親/子リビジョンの関係を表示します。また各リビジョンにおいてどのファイルが変更さたのか、
+さらに変更内容についても見ることができます。
+
+.. figure:: figures/log.png
+	:alt: チェンジログ
+
+	ツールバーを非表示にしたチェンジログビューア
+
+チェンジログビューアには各種機能を実行したり、
+他のツールを起動したりするためのメニューバーがあります。
+
+	:guilabel:`ツール`
+		TortoiseHg の各種ツールを別プロセスで起動します。
+	:guilabel:`表示`
+		オプション機能の表示切り替えと、表示内容の再読み込みします。
+	:guilabel:`リビジョン`
+		リポジトリ内の特定のチェンジセットを選択します。
+	:guilabel:`同期`
+		リポジトリ同期機能 (後述) に関する操作をします。
+	:guilabel:`ヘルプ`
+		システム既定のウェブブラウザでチェンジログビューアに関するヘルプを開きます。
+		また TortoiseHg のバージョン情報を表示します。
+
+ツールバーボタンを左から順に見ていきます:
+
+	:guilabel:`再読み込み`
+		リビジョン履歴を再読み込みします (別のウィンドウでコミットした時など)。
+	:guilabel:`マークをリセット`
+		リビジョングラフの新規・受信・送信リビジョンを表すマークを消して再読み込みします。
+	:guilabel:`同期ツール`
+		同期ツールを開きます。他のリポジトリとチェンジセットのやり取りできます。
+	:guilabel:`MQ`
+		MQ パネルの表示を切り替えます。このボタンは MQ 拡張機能がユーザによって
+		有効化されているときのみ表示されます。
+	:guilabel:`コミット`
+		コミットダイアログを別プロセスで起動します。
+	:guilabel:`リポジトリ検索`
+		リポジトリ検索ツールを別プロセスで起動します。
+	:guilabel:`リカバリ`
+		リカバリツールを別プロセスで起動します。
+	:guilabel:`ウェブサーバ`
+		ウェブサーバツールを別プロセスで起動します。
+	:guilabel:`シェルフ`
+		シェルフダイアログを別プロセスで起動します。
+	:guilabel:`さらにリビジョンを読み込む`
+		チェンジセット一覧に次の N 件のリビジョンを読み込みます。
+	:guilabel:`全リビジョンを読み込む`
+		チェンジセット一覧に残りすべてのリビジョンを読み込みます。
+
+
+同期バー
+--------
+
+.. figure:: figures/syncbar.png
+	:alt: 同期バー
+
+	チェンジログビューアのリポジトリ同期機能
+
+左から順に
+
+	:guilabel:`受信`
+		指定されたリポジトリからチェンジセットをダウンロードして一時的なバンドル
+		ファイルとして保存した後、プレビューモードに切り替えます。
+		リビジョングラフでは受信したチェンジセットの横に下向きの矢印が表示されます。
+	:guilabel:`取り込み`
+		プレビュー中のバンドルをローカルのリポジトリに取り込みます (プル)。
+		このボタンはバンドルのプレビュー中にのみ有効になります。
+		プル後の操作が設定されている場合、取り込み完了後に実行されます。
+	:guilabel:`破棄`
+		プレビュー中のバンドルを破棄して、プレビューモードから抜けます。
+		このボタンはバンドルのプレビュー中にのみ有効になります。
+	:guilabel:`プル`
+		指定されたリポジトリからチェンジセットをプルし、プル後の操作 (update, fetch,
+		または rebase) が実行されます。
+	:guilabel:`インポート`
+		インポートダイアログを開いてパッチを取り込みます。
+	:guilabel:`送信`
+		指定されたリポジトリに送信されるチェンジセットを確認します。
+		リビジョングラフでは送信されるチェンジセットの横に上向きの矢印が表示されます。
+	:guilabel:`プッシュ`
+		指定されたリポジトリにチェンジセットをプッシュします。
+	:guilabel:`メール送信`
+		指定したリポジトリへのチェンジセットをメールで送信します。
+	:guilabel:`中止`
+		現在の操作を中止します。このボタンは送信チェンジセットの確認中 (incoming)
+		にのみ有効になります。
+
+:guilabel:`中止` ボタンの右側には閲覧中のリポジトリに設定されたすべてのリモートリポジトリ
+を含むコンボボックスがあります。デフォルトのリポジトリパスが設定されている場合は
+起動時にそれが自動的に選択されます。リポジトリパス設定の詳細については
+`hg.1.html#urls <http://www.selenic.com/mercurial/hg.1.html#urls>`_
+をご覧ください。
+
+さらにその右側には :guilabel:`プル後の操作` コンボボックスがあり、
+同期バーによるプル操作が完了した後に実行する処理を選択することができます。
+:guilabel:`更新` (update) 以外の操作として :guilabel:`リベース` (rebase)
+と :guilabel:`取得` (fetch) がありますが、それぞれ rebase 拡張機能と
+fetch 拡張機能を有効化しない限りリストには表示されません。
+
+:guilabel:`プル後の操作` コンボボックスの右側は :guilabel:`設定` ボタンになります。
+このボタンを押すとリポジトリ設定ダイアログの :guilabel:`同期` タブが開かれ、
+素早くプル後の操作やリポジトリパスを設定することが可能になっています。
+
+リポジトリ同期機能によってチェンジログビューアが起動した後に追加された
+チェンジセットはリビジョングラフでは緑色の星印が表示されます。
+これにはコミット、プルされたチェンジセット、適用されたパッチなどを含みます。
+
+.. note::
+	緑色の星印が表示された新規チェンジセットを通常表示に戻すには
+	:guilabel:`表示 -> マークをリセット` を使用してください。
+
+
+フィルタバー
+------------
+
+.. figure:: figures/searchbar.png
+	:alt: フィルタバー
+
+	チェンジログビューアのフィルタ機能
+
+フィルタバーを使えばチェンジセットに素早くフィルタをかけることができます。
+左から順に
+
+	:guilabel:`全て`
+		すべてのチェンジセットを表示します。実質的にはすべてのフィルタを解除します。
+	:guilabel:`タグ`
+		タグの付いたチェンジセットのみ表示します。
+	:guilabel:`祖先`
+		現在選択しているチェンジセットの祖先にあたるチェンジセットのみを表示します。
+		このフィルタはチェンジセットが選択されているときのみ有効になります。
+	:guilabel:`親リビジョン`
+		作業ディレクトリの親リビジョンのみを表示します。
+		マージ作業中でない限り常に1つのチェンジセットのみが表示されます。
+	:guilabel:`ヘッド`
+		リポジトリのヘッドリビジョン (子リビジョンを持たないチェンジセット)
+		のみを表示します。
+	:guilabel:`マージ`
+		リポジトリのマージリビジョン (2つの親リビジョンを持つチェンジセット)
+		のみを表示します。
+	:guilabel:`マージを非表示`
+		マージリビジョンの表示を切り替えるトグルボタンです。他のフィルタと併用できる
+		ようにするためラジオボタンではありません。
+	:guilabel:`ブランチ`
+		選択したブランチに属するリビジョンのみを表示するフィルタです。
+		コンボボックスにはリポジトリ内のブランチ名が含まれますが、
+		:guilabel:`リポジトリ設定 -> チェンジログ -> 削除済みブランチ`
+		の設定が適用されています。
+	:guilabel:`カスタムフィルタ`
+		最後のコンボボックスはその横にあるテキストボックスに入力するタイプの
+		フィルタです。
+
+カスタムフィルタはまず最初にフィルタの種類をコンボボックスで選択し、
+テキストボックスに条件を入力してエンターキーを押すことで適用されます。
+
+	:guilabel:`リビジョンの範囲`
+		入力されたテキストをリビジョンの範囲として解釈します。詳細は
+		`hg.1.html#revisions <http://www.selenic.com/mercurial/hg.1.html#revisions>`_
+		をご覧ください。
+	:guilabel:`ファイル名パターン`
+		入力されたテキストを glob パターンとして解釈します。
+		*regexp:* を先頭に付加することで正規表現パターンとして解釈されます。詳細は
+		`hg.1.html#patterns <http://www.selenic.com/mercurial/hg.1.html#patterns>`_
+		をご覧ください。
+	:guilabel:`キーワード`
+		入力されたテキストをチェンジセットのメタデータ (ユーザ名、コミットメッセージなど)
+		にマッチするキーワードとして解釈します。
+	:guilabel:`日付`
+		入力されたテキストを日付の範囲として解釈します。詳細は
+		`hg.1.html#dates <http://www.selenic.com/mercurial/hg.1.html#dates>`_
+		をご覧ください。
+	:guilabel:`ユーザ名`
+		入力されたテキストをユーザ名 (コミッタ) として解釈します。
+
+フィルタ条件の入力エリアはコンボボックスになっており、
+ダイアログを開いている間は入力履歴を保持します。
+ドロップダウンリストを開いて項目を選択するとフィルタが適用されます。
+
+
+リビジョングラフ
+----------------
+
+グラフ列はリポジトリのリビジョン間の親子関係を表示します。この列は読み込まれている
+チェンジセットを可視化するのに必要な幅が自動的に決定されます。チェンジログビューア
+全体の表示を保つために表示幅には制限が設けられていますが、読み込み完了後に変更する
+ことができます。
+
+
+実行速度への影響
+----------------
+
+チェンジログビューアには巨大なリポジトリで使うべきではない機能がいくつかあります。
+
+There are some Repository Explorer features that should probably be
+avoided in large repositories.
+
+* :menuselection:`表示 -> ブランチで色分け`
+	このオプションはグラフ描画のために各リビジョンごとにブランチ名を取得する必要があり、
+	リビジョン一覧の読み込み速度の低下を招きます。
+
+* :menuselection:`表示 -> コンパクトグラフ`
+	このオプションを有効にすると通常のグラフ描画速度より遅くなります。
+	またグラフにおけるリビジョン間の接続が不正確になります。
+	その意味でグラフの正確さかグラフの横幅の節約のどちらを取るかによります。
+
+* リビジョン一覧の :guilabel:`変更` 列
+	巨大な作業コピーを持つリポジトリにおいてこの列を表示することは実行速度の面で高くつきます。
+	チェンジログビューアの起動だけでなく、スクロール速度も低下します。
+
+
+リビジョンの右クリックメニュー
+------------------------------
+
+グラフパネルのリビジョンを選択して右クリックするとリビジョンの右クリックメニューが
+表示されます:
+
+	:guilabel:`GUI 差分ツールで表示`
+		指定された GUI 差分表示ツールでこのチェンジセットを開きます。
+	:guilabel:`変更点の表示`
+		チェンジセットブラウザでこのチェンジセットを開きます。
+	:guilabel:`ローカルとの差分`
+		GUI 差分表示ツールでこのチェンジセットと作業ディレクトリの内容の差分を表示します。
+	:guilabel:`ハッシュ値のコピー`
+		このリビジョンの完全なハッシュ値をクリップボードにコピーします。
+	:guilabel:`更新...`
+		作業ディレクトリをこのリビジョンにおける内容に更新します。 [#rcm1]_
+	:guilabel:`マージ...`
+		このリビジョンとマージします。 [#rcm2]_
+	:guilabel:`バックアウト...`
+		選択中のリビジョンをバックアウトするチェンジセットを作成します。
+	:guilabel:`元に戻す`
+		作業ディレクトリの親リビジョンを変更せずに、このリビジョンの内容に戻します。
+		十分注意して使用してください。
+	:guilabel:`エクスポート`
+		:guilabel:`パッチの作成...`
+			このリビジョンの変更点を含んだパッチを作成します。
+		:guilabel:`メールで送信...`
+			このリビジョンの変更点をメールで送信します。 [#rcm3]_
+		:guilabel:`バンドルの作成...`
+			選択中のリビジョンから tip リビジョンまでのすべてのリビジョンを含むバンドルを作成します。
+		:guilabel:`アーカイブに保存...`
+			このリビジョンでアーカイブダイアログを開き、リポジトリのバックアップを作成します。
+	:guilabel:`タグ`
+		:guilabel:`タグの追加/削除...`
+			TortoiseHg のタグ編集ダイアログを開きます。
+		:guilabel:`ブックマークの追加/移動/削除...`
+			TortoiseHg のブックマークダイアログを選択中のリビジョンで開きます。
+			*このメニューは boomarks 拡張機能が有効なときにのみ表示されます。*
+		:guilabel:`ブックマークの名前変更...`
+			TortoiseHg のブックマーク名変更ダイアログを開きます。
+			*このメニューは boomarks 拡張機能が有効なときにのみ表示されます。*
+	:guilabel:`Mercurial Queue`
+		:guilabel:`MQ にインポート`
+			選択中のリビジョンを MQ にインポートします。
+			qbase リビジョンまたはヘッドリビジョンにのみ有効です。
+			*このメニューは mq 拡張機能が有効なときにのみ表示されます。*
+		:guilabel:`削除...`
+			選択中のリビジョンとそのすべての子孫にあたるリビジョンをリポジトリから削除します。
+			[#rcm4]_ *このメニューは mq 拡張機能が有効なときにのみ表示されます。*
+	:guilabel:`ローカルに移植`
+		選択中のリビジョンを現在の作業ディレクトリの親リビジョンの上に移植 (transplant)
+		します。 *このメニューは transplant 拡張機能が有効なときにのみ表示されます。*
+	:guilabel:`Bisect`
+		:guilabel:`リセット`
+			Bisect の状態をリセットします。
+			詳しくは後述の `bisect <#id10>`_ のセクションを参照してください。
+		:guilabel:`Good としてマーク`
+			選択中のリビジョンを Good としてマークします。
+		:guilabel:`Bad としてマーク`
+			選択中のリビジョンを Bad としてマークします。
+		:guilabel:`テストをスキップ`
+			選択中のリビジョンのテストをスキップします。
+
+リビジョンを選択した後、別のリビジョンの上で右クリックすると先ほどとは異なる
+右クリックメニューが表示されます。このメニューにはリビジョン範囲を扱うコマンドが
+含まれています。
+
+	:guilabel:`選択中のリビジョンとの差分`
+		リビジョン範囲で累積された変更をステータスビューアで開きます。
+		これは変更点の中から特定のファイルへの変更だけを取り出して保存するのに便利です。
+	:guilabel:`選択中のリビジョンとの GUI 差分表示` [#rcm5]_
+		リビジョン範囲で累積された変更を GUI 差分表示ツールで開きます。
+	:guilabel:`この範囲をメールで送信`
+		リビジョン範囲でメール送信ダイアログを開きます。
+	:guilabel:`この範囲をバンドル`
+		リビジョン範囲を含むバンドルファイルを作成します。
+	:guilabel:`この範囲をパッチとして保存...`
+		リビジョン範囲のチェンジセットを個別のパッチとして保存します。
+	:guilabel:`マージ...` [#rcm6]_
+		このリビジョンと選択中のリビジョンをマージします。もしどちらのリビジョンも
+		チェックアウトされていない場合はマージ作業を始める前に最初に選択したリビジョンに更新されます。
+		作業ディレクトリがクリーンでない場合、この操作は失敗します。
+	:guilabel:`この範囲をローカルに移植`
+		リビジョン範囲のチェンジセットを現在の作業ディレクトリの親リビジョンの上に移植
+		(transplant) します。
+		*このメニューは transplant 拡張機能が有効なときにのみ表示されます。*
+	:guilabel:`選択中のリビジョンの上にリベースする`
+		このリビジョンを選択中のリビジョンの上にリベースします。
+		*このメニューは rebase 拡張機能が有効なときにのみ表示されます。*
+	:guilabel:`この範囲を MQ にインポート`
+		リビジョン範囲のチェンジセットを MQ にインポートします。
+		*このメニューは mq 拡張機能が有効なときにのみ表示されます。*
+
+.. [#rcm1]	選択したリビジョンが指定された状態で TortoiseHg の更新ダイアログが開きます。
+.. [#rcm2]	選択したリビジョンが指定された状態で TortoiseHg のマージダイアログが開きます。
+.. [#rcm3]	選択したリビジョンが指定された状態で TortoiseHg のメール送信ダイアログが開きます。
+.. [#rcm4]	strip コマンドは削除したリビジョンを後で再適用できるようにバンドルファイルとして
+			保存します。詳細は `こちら <http://mercurial.selenic.com/wiki/EditingHistory>`_
+			を参照してください。
+.. [#rcm5]	:menuselection:`ユーザ設定 --> TortoiseHg --> GUI 差分表示コマンド`
+.. [#rcm6]	選択中のリビジョンが現在の作業ディレクトリの親リビジョンであるときのみ有効になります。
+
+
+ファイルの右クリックメニュー
+----------------------------
+
+左下にあるファイル一覧のファイル名の上で右クリックすると、そのファイルの
+右クリックメニューが表示されます:
+
+	:guilabel:`GUI 差分表示`
+		このファイルを GUI の差分表示ツールで開きます。
+	:guilabel:`ローカルとの差分`
+		このファイルと作業ディレクトリの該当ファイルの差分を視覚的に表示します。
+	:guilabel:`エディタで表示`
+		このファイルを GUI のエディタで開きます。 [#flcm1]_
+	:guilabel:`ファイルに保存...`
+		このファイルを指定された場所に保存します。
+	:guilabel:`履歴の表示`
+		このファイルが変更されたすべてのリビジョンを表示します。 [#flcm2]_
+	:guilabel:`行ごとの履歴を表示`
+		このファイルの行ごとの変更履歴を表示します。
+	:guilabel:`元に戻す`
+		このファイルを作業ディレクトリに取り出します。 [#flcm3]_
+
+.. [#flcm1]	:menuselection:`ユーザ設定 --> TortoiseHg --> GUI エディタ`
+.. [#flcm2]	ファイルの履歴を変更しない単純な変更のみ表示し、削除されたファイルなどは
+				表示されません。
+.. [#flcm3]	新しいファイル内容は作業ディレクトリへの変更として反映されるので、
+				コミットが必要になります。
+
+
+チェンジセットブラウザ
+----------------------
+
+チェンジセットブラウザは動作速度向上のため通常1つのファイルの差分のみ表示します。
+一度にすべてのファイルの差分を表示したい場合は :guilabel:`[すべてのファイル]` を
+クリックしてください。またチェンジセットブラウザは最大差分サイズを超えるファイル
+は表示せず飛ばします。詳しくは
+:menuselection:`ユーザ設定 --> TortoiseHg --> 最大差分サイズ`
+を参照してください。 :menuselection:`表示
+-> 最大差分サイズ制限を無視` を使用すると一時的にこのオプションを無効化できます。
+
+チェンジログビューアとリポジトリ検索ツールは単一のリビジョンまたはいくつかの
+リビジョン範囲が連結された差分を表示するためにチェンジセットブラウザを開きます。
+チェンジセットブラウザはコミットツールやシェルフツールにとても良く似ています。
+左側には変更されたすべてのファイルが一覧表示され、右側の差分パネルには変更箇所が
+行ごとに表示されます。
+
+'変更差分モード' で開いた場合、表示しているチェンジセットからファイルまたは
+ファイル内のハンクを選択して特定の変更点を抽出し、ツールバーの
+:guilabel:`名前を付けて保存` ボタンからそれらをパッチとして保存できます。
+これはリポジトリから必要な変更のみを取り出すのに非常に効率的な方法です。
+チェンジセットブラウザはキーボードショートカットの :kbd:`Ctrl-C` に
+対応しているため、ハイライトされているハンクをクリップボードにコピーできます。
+
+残念ながら TortoiseHg にはまだ変更点を取り込むためのダイアログが用意されていないため、
+これらについてはコマンドラインから :command:`hg import` を実行してください。
+
+
+コミットメッセージの解析
+------------------------
+
+TortoiseHg 1.0 からチェンジログビューアはコミットメッセージ内のチェンジセットのハッシュ値、
+ウェブサイトの URL、バグ管理システムの識別番号を認識して下線を引きます。
+下線が引かれた部分はクリック可能なリンクになります。
+
+16進数 (0-9a-f) の12文字または40文字の連続した文字列はすべてチェンジセットのハッシュ値と見なされ、
+そのチェンジセットへのリンクになります。
+開いているリポジトリにそのチェンジセットが存在すれば、クリックすることで移動できます。
+
+ウェブサイトの URL も同様にクリック可能なリンクになり、システム既定のブラウザで開かれます。
+
+バグ番号のリンクは設定ファイルの tortoisehg セクションが設定されているときに有効になります。
+今のところ1度に1つのバグ管理システムしか登録できませんが、通常はリポジトリの :file:`.hg/hgrc`
+ファイルに記述します。設定項目は issue.regex と issue.link の2つです。
+issue.regex でバグ番号を切り出すための正規表現を定義し、
+issue.link でどのような URL を生成するかを定義します。
+
+issue.regex では正規表現のグループ機能を使うことができ、グループでマッチした文字列は
+{n} (n は非負整数) を issue.link に含めることで展開されます。
+{0] は issue.regex によるマッチ全体、 {1} は最初のグループを参照します。
+{n} トークンが issue.link に含まれていない場合、マッチ全体が issue.link
+文字列の最後に追加されます。
+
+設定例: ::
+
+	BitBucket:
+	issue.regex = #(\d+)\b
+	issue.link = http://bitbucket.org/<your project and repo>/issue/{1}/
+
+	Mercurial:
+	issue.regex = \bissue\d+\b
+	issue.link = http://mercurial.selenic.com/bts/
+
+
+Bisect
+------
+
+TortoiseHg 1.0 から、どのチェンジセットにおいてバグが入り込んだのかを調べる
+Bisect 機能に対応しました。まず、バグが確認されているもっとも新しいチェンジセットに
+"Bad" のマークを付け、次にバグがないとわかっているもっとも古いチェンジセットに
+"Good" のマークを付けます。そしてテストを実行して作業ディレクトリの親リビジョンが
+"Good" なのか "Bad" なのかをマークします。すると Bisect
+は別の可能性のあるチェンジセットに更新します。もしそれ以上可能性のある
+リビジョンがない場合は問題のリビジョンが見つかったことを知らせます。
+
+リビジョンに "Good" または "Bad" のマークを付ける際、
+そのチェンジセットをチェックアウトする必要はありません。
+
+より自動的な Bisect を実現するには Mercurial をコマンドラインから使用し、
+作業ディレクトリの構成でビルドしてテストを実行し、0 (成功)、125 (スキップ)、
+127 (中断)、または "Bad" (0、125、127以外)
+を返す自動化されたテストを提供する必要があります。
+詳しくは :command:`hg bisect` コマンドのヘルプを参照してください。
+
+
+キーボードショートカット
+------------------------
+
+:kbd:`Ctrl-P`
+	作業ディレクトリの親リビジョンに移動します
+:kbd:`Ctrl-D`
+	GUI の差分表示ツールで選択中のチェンジセットを表示します
+:kbd:`Ctrl-R`
+	表示内容を再読み込みします
+:kbd:`Ctrl-G`
+	指定リビジョンに移動します
+
+
+オプション設定
+--------------
+
+チェンジログビューアには TortoiseHg 設定ダイアログのチェンジログタブから変更できる
+いくつかのオプション項目があります。
+
+	:guilabel:`コミッタの色分け`
+		チェンジセットをコミッタごとに色分けします
+	:guilabel:`改行を無視してログを表示`
+		コミットメッセージの改行を無視して、最大80文字まで表示します
+	:guilabel:`読み込むログの件数`
+		一度に読み込むリビジョンの件数
+	:guilabel:`ハッシュ値のコピー`
+		選択時にリビジョンのチェンジセット ID (ハッシュ値) をクリップボードにコピーします。
+		廃止予定。
+	:guilabel:`削除済みブランチ`
+		リポジトリでブランチ名一覧を作成する際に無視するブランチ名をカンマ区切りで指定します。
+	:guilabel:`ブランチの色:`
+		ブランチ名とその色を "branch:#XXXXXX" の形式で空白文字区切りで指定。
+		ブランチ名に含まれる空白文字とコロン(":")はバックスラッシュ("\")で
+		エスケープする必要があります。同様に他の文字についても、例えば "\u0040"
+		はアットマーク("@")にデコードされ、"\n" は改行になります。
+	:guilabel:`非表示タグ:`
+		非表示にしたいタグ名を空白区切りで指定。便利な使用例:"qbase qparent qtip"
+		を設定することで MQ 拡張機能が使用するタグを隠すことができます。
+	:guilabel:`折り畳み`
+		チェンジセットのヘッダ情報を折り畳み可能にします。このオプションを有効にした場合、
+		ヘッダ情報の部分は固定表示になります。
+
+特定のコミッタに指定した色を割り当てたい場合は :file:`Mercurial.ini` ファイルに
+次の設定を追加してください: ::
+
+	[tortoisehg]
+	authorcolor.コミッタ名 = color
+
+またチェンジログビューアは TortoiseHg ページの以下の設定も反映されます:
+
+	:guilabel:`タブ文字の幅`
+		コメント情報の表示でタブ文字1つあたりいくつの空白に展開するかを指定します
+	:guilabel:`最大差分サイズ`
+		表示する最大の差分ファイルサイズ
+	:guilabel:`差分を画面下部に表示`
+		ファイル一覧の下に差分表示パネルを配置する
+
+
+コマンドラインからの実行
+------------------------
+
+チェンジログビューアはコマンドラインから起動することもできます: ::
+
+	hgtk log [OPTIONS] [FILE]
+
+	aliases: history
+
+	changelog viewer
+
+	options:
+
+	 -l --limit  limit number of changes displayed
+
+	use "hgtk -v help log" to show global options
+
+.. vim: noet ts=4

File thg/html/_sources/clone.txt

+クローン
+================
+
+.. module:: clone.dialog
+	:synopsis: リポジトリのクローンに使うダイアログ
+
+リポジトリのクローンにはクローンダイアログを使います。
+エクスプローラで右クリックメニューを開いて
+:menuselection:`TortoiseHg... --> リポジトリのクローン` を選択するか、
+コマンドラインから :command:`hgtk clone` を実行してください。
+
+.. figure:: figures/clone.png
+	:alt: クローンダイアログ
+
+	クローンダイアログ
+
+:guilabel:`クローン元`
+	クローン元のリポジトリパス (ディレクトリまたは URL) を指定してください。
+	:guilabel:`選択...` ボタンを使えばローカルのディレクトリを選択できます。
+:guilabel:`クローン先`
+	クローン先のディレクトリを指定してください。このディレクトリにクローン元と同じ名前の
+	ディレクトリが作成されます。
+
+:guilabel:`詳細設定` には以下の設定項目が含まれています:
+
+:guilabel:`リビジョン指定`
+	ここで指定したリビジョンまでクローンするよう制限できます。
+	指定したリビジョン以降のタグであればインポートされます。
+:guilabel:`クローン後に作業ディレクトリを HEAD に更新しない`
+	チェックを入れた場合、クローンが完了しても作業ディレクトリが空のままになります。
+	これは共有リポジトリやバックアップなど、プルまたはプッシュしかしないような
+	リポジトリのクローンに便利です。
+:guilabel:`メタデータのコピーに Pull を使用する`
+	クローン元とクローン先が同一ファイルシステムのとき、Mercurial はハードリンクの使用を試みますが、
+	AFS など一部の不完全なハードリンク実装を持つファイルシステムではエラー報告が出ません。
+	このオプションを使用すればハードリンクの使用しないように明示的に指定できます。
+:guilabel:`無圧縮で転送する`
+	無圧縮のデータ転送を使用します。有線 LAN ネットワークではその方が速い場合があります。
+:guilabel:`プロキシサーバを使用する`
+	:menuselection:`TortoiseHg... --> ユーザ設定 --> プロキシ` で設定したプロキシサーバを使用します。
+	このオプションはプロキシサーバが設定されているときのみ有効になります。
+:guilabel:`リモートコマンド`
+	クローン元のリポジトリで実行する Mercurial コマンドを指定します。
+
+
+コマンドラインからの実行
+------------------------
+
+クローンツールはコマンドラインから起動することもできます: ::
+
+	hgtk clone
+
+コマンドの構文は: ::
+
+	hgtk clone [SOURCE] [DEST]
+
+[SOURCE] と [DEST] は、それぞれクローン元リポジトリのパスとクローン先のディレクトリです。
+
+.. vim: noet ts=4

File thg/html/_sources/commit.txt

+コミット
+========
+
+.. module:: commit.dialog
+	:synopsis: コミットを実行するダイアログ
+
+.. warning::
+	win32text 拡張機能はハンク選択で問題を引き起こす可能性があります。この問題は
+	Mercurial 1.3 と TortoiseHg 0.8 において解決されましたが、適切な設定が
+	必要です。詳しくは
+	`issue #82 <http://bitbucket.org/tortoisehg/stable/issue/82/>`_
+	をご覧ください。
+
+コミットツールは TortoiseHg に2つある主要アプリケーションのうちの1つです。
+リポジトリエクスプローラ (別名: チェンジログビューア) と共にこれら2つのツールは
+TortoiseHg が実装しているほぼすべての機能にアクセスできます。
+
+コミットツールは変更点をコミットするだけではなく、作業ディレクトリの状態の確認や、
+その他にも様々な作業 (新規ファイルの追加、名前変更の記録、
+リポジトリの無視フィルタの編集、など) もコミットツール上で行なえます。
+
+.. figure:: figures/commit.png
+	:alt: コミットダイアログ
+
+	コミットダイアログ
+
+機能
+----
+
+コミットツールの一番上にはバージョン 0.9 から導入されたメニューバーがあります。
+
+	:guilabel:`ツール`
+		TortoiseHg の各種ツールを別プロセスで起動します。
+	:guilabel:`表示`
+		オプション機能の表示切り替えと、作業ディレクトリの表示内容を再読み込みします。
+	:guilabel:`操作`
+		ツールバーのボタンと同じ操作を実行できます。
+	:guilabel:`ヘルプ`
+		システム既定のウェブブラウザでコミットツールに関するヘルプを開きます。
+		また TortoiseHg のバージョン情報を表示します。
+
+その下のツールバーにあるボタンを左から順に見ていきます:
+
+	:guilabel:`コミット`
+		チェックされたファイルの選択されたハンクをコミットします。
+	:guilabel:`取り消し`
+		直前のコミットを取り消します。入力したコミットメッセージは
+		:guilabel:`最近コミットしたメッセージ` の一覧に追加されるため、
+		コミットミスを修正した後に同じメッセージでコミットできます。
+	:guilabel:`差分`
+		チェックされているファイルを GUI 差分ツールで表示します。
+	:guilabel:`元に戻す`
+		チェックされているファイルを変更を加える前の状態に戻します。
+		その変更がマージの場合はどちらの親リビジョンに戻すか選択できます。
+	:guilabel:`追加`
+		チェックされている不明ファイル '?' または無視ファイル 'I' を追加します。
+	:guilabel:`移動`
+		チェックされているファイルを指定されたディレクトリに移動します。
+	:guilabel:`削除`
+		チェックされているファイルを削除します。
+	:guilabel:`破棄`
+		チェックされている管理済みファイルを破棄します。
+	:guilabel:`再読み込み`
+		作業ディレクトリの状態を再読み込みします。
+		再読み込み後もチェックボックスの選択状態は保たれます。
+	:guilabel:`MQ`
+		MQ パネルの表示を切り替えます。このボタンは MQ 拡張機能がユーザによって
+		有効化されているときのみ表示されます。
+
+ツールバーの下にはいくつかの便利なウィジェットがあります:
+
+	:guilabel:`ブランチダイアログ`
+		作業ディレクトリの現在のブランチ名を表示します。通常はブランチ名の表示のみですが、
+		このボタンを押すとブランチ操作のためのダイアログが表示されます。
+		この機能は Mercurial の
+		`名前付きブランチ <http://mercurial.selenic.com/wiki/NamedBranches>`_
+		を理解している場合のみ使用してください。
+	:guilabel:`最近コミットしたメッセージ`
+		最近のコミットメッセージ 10 件のドロップダウンリストです。
+		このリストは最初に開いた時にコミットメッセージが読み込まれます。
+	:guilabel:`QNew`
+		MQ 拡張機能を使用している場合、新しいパッチ名を入力するためのテキストボックスが
+		表示されます。パッチ名を入力するとコミットツールは 'QNew' モードに切り替わります。
+
+
+ファイル一覧には4つの列があります:
+
+	1) 各種操作のためにそのファイルが選択されているかどうかを示すチェックボックス。
+	   ツールバーボタンによる操作はチェックされているファイルにのみ行なわれます。
+	   部分選択状態のファイルについては特殊なチェック状態となります。
+	   この列のヘッダを使えばすべてのファイルをチェックしたりチェックを外したりできます。
+	2) :guilabel:`状態` 列には Mercurial の status コマンドで使用されている
+	   ファイル状態を示す 'MARD?IC' のうちの1つが表示されます。'S'
+	   は未コミットの変更を含むサブリポジトリを意味します。
+	3) :guilabel:`マージ` 列はそのファイルのマージ状態を示しており、Mercurial の
+	   resolve コマンドで使用されている ' RU' のうちどれか1つが表示されます。
+	4) リポジトリルートを基準としたファイルパスが表示されます。
+
+.. note::
+	コミットツールがファイルパターンまたは特定のファイルを選択した状態で起動された場合、
+	ファイル一覧の下にそれらのフィルタを削除して作業ディレクトリにおける変更すべてを
+	表示するためのボタンが表示されます。
+
+ファイル一覧の下に並んだチェックボックスは
+{M:変更, A:追加, R:削除, !:削除, ?:不明, C:クリーン, I:無視}
+のファイル状態ごとにファイル一覧に表示するかどうかを設定できます。
+このチェックボックスはコミットツールからファイルまたはディレクトリを指定された場合には
+無効になります。
+
+*R:削除* は管理済みファイルが Mercurial の管理から外されたことを示しています。
+一方で *!:削除* は管理済みファイルが見当たらず、Mercurial がそのファイルを
+追跡できなくなったことを意味しています。例えば管理済みファイルの名前をエクスプローラで
+変更したとき、コミットツールのファイル一覧には元のファイル名が *!:削除* として表示され、
+新しいファイル名が *?:不明* として表示されます。新しいファイル名の右クリックメニューから
+名前変更推定ダイアログを起動すればファイル内容の比較によって名前変更を検出し、
+古いファイルを *R:削除* とマークし、新しいファイルを *A:追加* とマークすることができます。
+
+*?:不明* は Mercurial によって管理されておらず、かつ、設定されている
+無視ファイルフィルタにマッチしないファイルに表示されます。リビジョン管理に
+追加する必要のあるファイルなどはデフォルトで不明ファイルとして表示されます。
+無視ファイルフィルタを最新に保つことは良い習慣です。不明ファイルの
+右クリックメニューには無視ファイルフィルタを編集するツールを開くコマンドがあります。
+
+*C:クリーン* は変更が加えられていない管理済みのファイルです。
+一方で *I:無視* は設定されている無視ファイルフィルタに該当する管理外のファイルです。
+どちらのファイルもエクスプローラでの選択に含めるか、
+コマンドラインからそのファイル名を指定して起動しない限りデフォルトでは表示されません。
+
+.. figure:: figures/parentbar.png
+	:alt: 親リビジョンバー
+
+	コミットツールの親リビジョンバー
+
+ファイル一覧と差分表示パネルの下には *親リビジョンバー* があります。
+ここには現在の作業ディレクトリの親にあたるチェンジセットが表示され、
+コミットによって新しくヘッドが作成されるかどうか見ることができます。
+このバーは :guilabel:`表示` メニューから非表示にできます。
+
+ファイル一覧の右側は差分表示パネルになります。バージョン 0.9 から差分表示パネルが
+タブ表示になりました。
+
+	:guilabel:`テキスト差分`
+		選択しているファイルの差分をテキストで表示します。
+	:guilabel:`ハンク選択`
+		バージョン 0.7 から 0.8 まではこのタブは単純に内容を表示するだけでしたが、
+		0.8 からはハンク選択機能が実装され、変更点の一部を選択してコミットできる
+		ようになりました。このタブには選択されているファイルの差分ハンクが表示されますが、
+		バイナリファイルは表示されません。内容の確認は :guilabel:`テキスト差分`
+		タブで行ってください。
+	:guilabel:`コミットプレビュー`
+		このタブにはすべての選択されたハンクが表示されます。実質的にこのプレビューには
+		コミットボタンを押したときに何がコミットされるかが表示されます。
+	:guilabel:`パッチ内容`
+		コミットツールがパッチ更新モードのときにのみ表示されます。
+		ここには現在のパッチ内容が表示されます。
+
+.. figure:: figures/advancedbar.png
+	:alt: 詳細設定バー
+
+	コミットツールの詳細設定バー
+
+:guilabel:`表示` メニュー で :guilabel:`詳細設定` を有効にした場合、
+ツールバーとコミットログ履歴の間に詳細設定バーが挿入されます。このバーには:
+
+	:guilabel:`コミッタ`
+		コミットに使用するユーザ名です。この値は通常 Mercurial.ini ファイルから
+		読み込まれますが、コマンドラインやパッチファイルから読み込んで指定すること
+		もできます。直接入力することで異なるユーザを指定することも可能です。
+	:guilabel:`自動的に含む`
+		ファイルにチェックを入れたかどうかに関わらず、常にコミットに含めたい
+		ファイルをカンマ区切りで指定するためのテキストボックスです。
+		この機能はリポジトリの pre-commit フックによってコミット時に自動更新される
+		ファイル (例えば changelog ファイル) などを常にコミットに含めたい、
+		というときに便利です。
+	:guilabel:`コミット後にプッシュ`
+		コミットが正常に完了した後、デフォルトの URL にプッシュするかどうかを
+		設定するチェックボックスです。
+
+
+変更点の選択
+------------
+
+さて、「チェックされたファイルの選択されたハンクをコミットする」と言ったとき、
+それは何を意味しているのでしょうか? TortoiseHg のコミットツールには
+変更点の一部のみをコミットする機能が標準で備わっているため、
+単純にそれを使うという意味になります。
+つまり、管理下に置かれたファイルに対するすべての変更箇所は、どの部分をコミットに含めて、
+どの部分をコミットせずに (作業ディレクトリに) 残すのか個別に選択することができます。
+darcs バージョン管理システム、または Mercurial の record 拡張機能のユーザであれば
+すぐに分かるはずです。
+
+どんなとき必要になるのか?
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+関連性の低い複数の変更が作業ディレクトリにあり、それらを個別のチェンジセットとして
+コミットしたいとします。この場合、コミット時にファイル一覧を指定することでうまく
+対処できるケースもありますが、同じソースコードに変更点が混ざり合っているケースでは
+コミットする変更点を選択する機能が必要不可欠になります。
+
+どうやって使うのか?
+^^^^^^^^^^^^^^^^^^^^
+
+差分表示パネルの :guilabel:`ハンク選択` タブでチェンジハンクをダブルクリックすることで
+そのハンクの選択状態を切り換えることができます。
+*厳密には選択状態はアクティベート操作によって切り替わるため、ダブルクリックでは
+なくスペースキーを押すことでも可能です。* ハンクが選択解除されると差分パネルの
+色分け表示が無効になり、背景色がグレーになります。それと同時にファイルの差分ヘッダ
+が更新され、現在選択されているハンクの数と行数が表示されます。もう一度
+ダブルクリックしてハンクを選択することでコミットにその変更を含めることができます。
+
+ファイル内の変更が部分的に選択されているとき、ファイル一覧に表示されるそのファイルの
+チェックボックス表示がラジオボタンのようになります。これにより、次のコミットで
+各ファイルの全体がコミットされるのか、部分的にコミットされるのか一目で分かります。
+
+コミットするとどうなるのか?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+簡単に言ってしまえば、チェックの入ったファイル内の選択されたハンクがリポジトリに
+コミットされ、選択されなかった変更点は作業ディレクトリに残り、次のコミットに
+持ち越されます。
+
+実際には少々複雑なことをしています。その裏側で何が起こっているのかというと、
+選択されなかったハンクのバックアップを安全な場所に作成した後、作業ディレクトリの
+内容が最新リビジョンの状態に戻し、クリーンな状態にします。そして選択された変更点
+のみが作業ディレクトリに書き戻されて、この状態でコミットされます。
+最後にバックアップから選択されなかったハンクが作業ディレクトリに復元されます。
+ハンク選択されなかったファイルは *バックアップ、書き戻し、コミット、復元* の
+一連の処理はされません。
+
+このハンク選択機能の内部処理に関する記述は、不運にも処理に失敗したときに役に立つ
+かもしれません (Windows ではその可能性がゼロであると言い切れないため)。
+何らかのプログラム (アンチウイルスソフト、コンパイラなど) が処理の過程で生成された
+一時ファイルをロックしてしまった場合、書き戻しに失敗したというエラーが発生する
+かもしれません。しかしこれらのエラーは修復できます。リポジトリにある :file:`.rej`
+ファイルを削除してからもう一度コミットを試みてください。
+
+
+キーボードショートカット
+------------------------
+
+:kbd:`Ctrl-Enter`
+	コミットを実行します
+:kbd:`Ctrl-C`
+	差分表示パネルでこのショートカットを押すと、ハイライト (選択ではない) されている
+	ハンクの内容がクリップボードにコピーされます。作業ディレクトリの変更から任意の
+	変更点をテキストとしてどこかにペーストするのに使えます。
+:kbd:`Alt-Q`
+	カーソルのある段落(空行で区切られた行)を空白で連結して1行にします。このショートカット
+	を使用するにはフォーマットポリシーの設定が必要です。
+
+クリップボードにコピーされるハンクは気が利いていて、差分のヘッダ情報が付加されます。
+つまり、クリップボードの内容はいつでも正しいパッチとして使えるというわけです。
+
+
+ファイルの右クリックメニュー
+----------------------------
+
+ファイル一覧のファイルの上で右クリックすると、選択されたファイルに対する
+コマンドを含むメニューが表示されます。
+
+不明ファイル **?** の右クリックメニューには名前変更を検出するコマンド
+(不明ファイルが管理下にあったファイルのコピーまたは名前変更されたものだと
+考えられる場合) や、リポジトリの無視フィルタを編集するするコマンド
+(その不明ファイルを今後もリビジョン管理することはなく、Mercurial にそれを
+無視して欲しい場合) が提供されます。
+
+
+マージ作業
+----------
+
+マージ状態のリポジトリを開いたとき (正確には現在の作業ディレクトリが2つの
+親リビジョンを持っているとき) コミットツールは特別なモードに切り替わります。
+ファイル一覧にはチェックボックスが表示されず、差分表示パネルの
+:guilabel:`ハンク選択` タブは非表示になります。
+マージ後に作業ディレクトリ全体をコミットしなければならないため、
+基本的にコミットマニフェストは不変です。
+
+このモードではマージ状態を示す *ms* 列が特に役に立ちます。この *ms* 列で
+*R* というマークが付いたファイルは Mercurial またはユーザによって2つの
+親リビジョンから正しくマージ (衝突の解決) されたファイルです。 *U* マーク
+付いたファイルは未解決のファイルです。そのファイルのマージ作業を再開するには
+右クリックメニューの *衝突の解決* メニューを選択するか、 *編集* メニューで
+ファイルを開いて手動で衝突を解決します。 *衝突の解決* メニューからマージ作業を
+開始すると、その都度マージツールを変更できるため、ファイルごとに適切な
+マージツールを使用することができます。衝突を解決したら *解決済みとしてマーク*
+メニューを選択してファイルのマージ状態を手動で *R* に変更します。
+
+Mercurial は1つでもマージ状態が *U* となっているファイルがあるとコミットを
+中止します。
+
+*ローカル* はマージを始めたときにチェックアウトされていたリビジョンで、
+*他のリビジョン* はマージ対象のリビジョンです。
+
+失敗したマージ作業を取り消すには2つ目の親リビジョンによる変更点を作業リポジトリ
+から削除するために Mercurial に知らせなければなりません。
+これは通常1つ目の親リビジョンへのクリーンな (ローカルでの変更を上書き) 更新を
+意味します。マージツールにはまさにその操作のための :guilabel:`取り消し`
+ボタンがあります。これはリカバリツールの :guilabel:`クリーン` ボタンを
+押しても同じ結果になります。
+
+作業ディレクトリをどちらかの親リビジョンに戻せば再びマージ作業を始めることが
+できます。
+
+
+コミットメッセージパネル
+------------------------
+
+コミットメッセージパネルは以下の特別な右クリックメニューがあります:
+
+	:guilabel:`ファイル名を貼り付け`:
+		チェックの入っているファイル名ををコミットメッセージのカーソル位置に
+		貼り付けます。
+	:guilabel:`フォーマットポリシーの適用`:
+		設定されたメッセージの折り返しポリシーを現在のメッセージに適用します。
+	:guilabel:`フォーマットポリシーの設定`:
+		設定ダイアログの :guilabel:`コミット` ページを開きます。
+
+プロジェクトにコミットメッセージのルールがある場合はそれらを設定ダイアログで
+変更できます。コミットツールは設定されたポリシーをコミット時にチェックし、
+コミット前でもポリシーに沿ったメッセージになっているか確認できます。
+設定ダイアログの :guilabel:`コミット` ページにはコミットメッセージポリシーの
+設定項目が2つあります:
+
+	:guilabel:`要約行最大文字数:`
+		コミットログ最初の行 (要約行) の最大文字数。これが設定された場合、
+		要約行が長すぎる、もしくは要約行とそれ以降のログが空行で区切られていないときに
+		警告が表示されます。デフォルト:0 (制限しません)。
+
+	:guilabel:`コミットログ折り返し文字数:`
+		コミットログの折り返し文字数。これが設定された場合、コミットログ中の1行でも
+		設定文字数を上回っていると警告が表示され、その文字数で強制的に折り返すための
+		ポップアップメニューが表示されます。デフォルト:0 (制限しません)。
+
+
+MQ パッチ
+---------
+
+多くの Mercurial 上級者はパッチの管理に MQ 拡張機能を使っていることでしょう。
+コミットツールはパッチが適用されているとき *パッチ更新* モードに切り替わります。
+ダイアログのタイトルは "パッチ更新 *パッチ名*" となり、コミットメッセージパネル
+にはそのパッチのコメントが表示されます。
+
+差分表示パネルの :guilabel:`パッチ内容` タブには現在のパッチ内容がすべて表示されます。
+:guilabel:`テキスト差分` と :guilabel:`ハンク選択` タブにはパッチ内容に加えて
+作業ディレクトリでの変更点も合わせて表示されます。ハンク選択機能を使えば現在の
+パッチから変更点の一部を別のパッチに移動 (またその逆も) することができます。
+
+これは実質的に :command:`qdiff` コマンドを実行したときの内容が表示されます。
+コマンドラインから実行する :command:`hg diff` のように作業ディレクトリに
+おける変更点のみを表示する方法はありませんが、新しいパッチ名を入力する
+テキストボックスに何か1文字でも入力すれば *パッチ作成* モード (後述) に
+切り替わるので、作業ディレクトリにおける変更のみを見ることは一応できます。
+
+:guilabel:`コミット` ボタンを押すことで (パッチ更新モードではラベルが
+:guilabel:`パッチ更新` に変化します) は現在のパッチ内容を選択されている変更点に
+コミットメッセージと共に更新 (qrefresh) します。更新後も除外した変更点は
+作業ディレクトリに残り、ファイル一覧や差分表示パネルに表示される内容は何も
+変化しないため、最初は少し戸惑うかもしれません。
+
+
+QNew モード
+-----------
+
+コミットツールから MQ のパッチを作成できます。 MQ 拡張機能が有効になっている場合、
+ブランチボタンとコミットメッセージ履歴のドロップダウンリストの間にテキストボックスが
+表示されます。このテキストボックスにパッチ名を入力し始めるとコミットツールは *コミット*
+または *パッチ更新* モードから *パッチ作成* モードに切り替わり、差分表示パネルには
+現在の作業ディレクトリにおける変更点が表示されます。正常にモードが切り替わると
+:guilabel:`コミット` ボタンが :guilabel:`QNew` ボタンに変化するので一目瞭然です。
+
+:guilabel:`QNew` ボタンが押されると選択されている変更点のハンクが入力された
+名前の新しいパッチに書き込まれ、ダイアログが再読み込みされます。これにより、
+少なくとも1つ適用済みのパッチが存在するため、ダイアログは *パッチ更新* モード
+に切り替わります。
+
+パッチのコミットメッセージは *パッチ作成* モードのときに入力することもできますし、
+作成後の *パッチ更新*  モードで更新することもできます。
+
+パッチ作成時に変更点の一部を除外した場合、その変更点も差分表示パネルの新しいパッチ
+の中に表示されますが、これは前述の通り *パッチ更新* モードが現在のパッチ内容と
+作業ディレクトリの変更点をまとめて表示するためです。ここで再びテキストボックスに
+パッチ名の入力を始めるとコミットツールは再度 *パッチ作成* モードに移行し、
+差分表示パネルには作業ディレクトリに残った (先ほどのパッチ作成で除外した)
+変更点が表示されます。
+
+
+オプション設定
+--------------
+
+:menuselection:`コミット --> ユーザ名`
+	コミットに関連付けるユーザ名を設定します (:doc:`quick`)
+:menuselection:`コミット --> 要約文字数`
+	要約行の文字数を制限するポリシーを設定します
+:menuselection:`コミット --> メッセージ文字数`
+	コミットメッセージ各行の文字数を制限するポリシーを設定します
+
+これに加えて上級者向けの3つのオプションがあります。
+
+:menuselection:`コミット --> コミット後にプッシュ`:
+	True にすることで *コミット後にプッシュ* チェックボックス	の初期値として
+	使用されます。
+:menuselection:`コミット --> 自動コミットファイル`:
+	コミットに自動的に含めたいファイルをカンマ区切りで指定します。
+	通常はユーザ設定ではなくリポジトリ設定で使用します。
+:menuselection:`コミット --> 自動除外ファイル`:
+	ステータス、コミット、シェルフツールにおいて自動的にチェックを外したい
+	ファイルをカンマ区切りで指定します。
+
+:menuselection:`TortoiseHg --> 差分を画面下部に表示`
+	差分表示パネルをファイル一覧の右側から下に切り替えます
+:menuselection:`TortoiseHg --> 最大差分サイズ`
+	表示する差分の上限サイズを設定します
+
+外部ツールの設定はバージョン 0.9 で廃止されました。
+
+
+コマンドラインからの実行
+------------------------
+
+コミットツールはコマンドラインから起動することもできます: ::
+
+	hgtk commit [OPTIONS] [FILE]...
+
+	aliases: ci
+
+	commit tool
+
+	options:
+
+	 -u --user  record user as committer
+	 -d --date  record datecode as commit date
+
+	use "hgtk -v help commit" to show global options
+
+日付の書式は: ::
+
+	hg help dates
+
+から見ることができます。
+
+.. vim: noet ts=4

File thg/html/_sources/common.txt

+共通の機能
+==========
+
+.. module:: common.dialog
+	:synopsis: 全ダイアログ共通の機能
+
+これらの機能は多くの TortoiseHg ダイアログに共通しているため、
+ここにまとめておきます。
+
+
+キーボードショートカット
+------------------------
+
+すべての TortoiseHg ダイアログで使用可能なキーボードショートカットが
+いくつか定義されています。
+
+:kbd:`Ctrl-Q`
+	開いているウィンドウすべてを閉じてアプリケーションを終了します
+
+:kbd:`Ctrl-W`
+	現在のウィンドウを閉じます (開いているウィンドウが1つだけの場合は
+	:kbd:`Ctrl-Q` と同じ動作)
+
+:kbd:`Ctrl-D`
+	現在選択されているファイルまたはチェンジセットの差分を表示します
+
+:kbd:`Ctrl-Enter`
+	コマンドを実行します
+
+:kbd:`Ctrl-.` and :kbd:`Ctrl-,`
+	ファイル一覧で次および前のファイルを選択します
+
+:kbd:`Ctrl-[` and :kbd:`Ctrl-]`
+	テキスト表示でページ単位で前後にスクロールします
+
+:kbd:`F5`, :kbd:`Ctrl-R`
+	最新の状態に更新します
+
+`Mac OS X <http://bitbucket.org/tortoisehg/stable/wiki/MacOSX>`_ では
+アップル (Command) キーを :kbd:`Ctrl` キーモディファイアの代わりに使用します。
+ただしコピー&ペーストなど一部の機能については GTK+ 標準のキーボードショートカットが
+使用されるため、 :kbd:`Ctrl` キーを使わなければならない場合もあります。
+
+
+差分表示
+--------
+
+.. figure:: figures/visual-diff.png
+	:alt: 差分表示ウィンドウ
+
+	差分表示ウィンドウ
+
+TortoiseHg 1.0 では GUI 差分表示 (外部ツール) のベースが見直されました。
+新しいシステムはよく使われている差分ツール (インストーラ同梱の KDiff3 も含む)
+の検出とその選択に :file:`mergetools.rc` を使用します。
+
+ユーザがマージツール (:menuselection:`TortoiseHg --> 3-way マージツール`)
+を設定すると、ツール選択の処理を飛ばして、マージツールが GUI 差分表示にも使用されます。
+もちろん :menuselection:`TortoiseHg --> GUI 差分表示ツール` を設定することで、
+これまで通りマージツールと差分表示ツールを別々に設定することもできます。
+
+マージツール設定ファイルには各ツールごとに最適なコマンドライン設定を持っているため、
+面倒な追加設定などは不要です。使用したいツールを選択するだけで大丈夫です。
+
+既存の extdiff 設定が見つかった場合は GUI 差分システムはそれを使います。
+しかし extdiff は 3-way 差分のラベル引数をサポートしていないため、
+より便利に使うために extdiff の設定を削除または無効にすることをお勧めします。
+
+あえて TortoiseHg の GUI 差分ウィンドウを使おうとしない限り、GUI
+差分システムは選択されている差分ツールを直接起動します。
+以下が想定している状況です:
+
+1) 比較されるファイルが複数のツールを必要とする
+2) 選択されたツールが別のバックグラウンドプロセスを起動する
+3) 選択されたツールがディレクトリ差分をサポートしていない
+4) 選択されたツールが 3-way 比較をサポートしていない
+5) ファイルの変更が名前変更またはコピーを含む
+
+GUI 差分ウィンドウが使用された場合、ウィンドウが閉じられたときに一時ファイルが削除されます。
+従って差分表示ツールを終了するまで閉じずに残しておく必要があります。
+直接差分表示ツールが起動された場合、そのツールが終了したときに一時ファイルが削除されます。
+
+作業コピーのファイルの比較に差分表示ツールが起動された場合、
+ツールはその作業コピーのファイルを元に差分を取るため、
+そのファイルをツール上で変更することができます。
+複数のファイルを比較する場合、GUI 差分システムは作業コピーのスナップショットを別の場所に作成し、
+そのファイルのサイズと日付を記録しておきます。
+差分表示ツールが閉じられたとき、さきほどのファイルサイズと日付を元に比較し、
+変更が加えられていた場合はそのファイルをオリジナルの作業コピーに書き戻します。
+このようにしてディレクトリ差分であっても差分表示ツール上からファイルの書き換えが可能になっています。
+
+GUI 差分ウィンドウが作業コピーの比較に使用された場合、
+常に1つのファイルに対して操作されるため、作業コピーのファイルを元に差分を抽出します。
+
+.. note::
+	:menuselection:`TortoiseHg --> 差分ウィンドウをスキップ`
+	のオプションは削除されました。
+
+ツールの追加
+~~~~~~~~~~~~
+
+使っている GUI 差分表示ツールを TortoiseHg がサポートしてないときは
+ホームディレクトリにある :file:`Mercurial.ini` ファイルにツール設定を追加することができます。
+詳しい設定方法については Mercurial の
+`ドキュメント <http://www.selenic.com/mercurial/hgrc.5.html#merge-tools>`_
+を参照してください。それが終わったら TortoiseHg が使用する設定項目を追加してください: ::
+
+	diffargs:  2つのファイル比較に使用される引数です
+	diff3args: 3つのファイル比較に使用される引数です
+	dirdiff:   2つのディレクトリ比較をサポートするツールの場合に使用する引数です
+	dir3diff:  3つのディレクトリ比較をサポートするツールの場合に使用する引数です
+
+コマンドライン引数には以下の変数を使用することができます: ::
+
+	$parent1:  1つ目の親リビジョンのファイルまたはディレクトリ
+	$parent2:  2つ目の親リビジョンのファイルまたはディレクトリ
+	$child:    比較元のリビジョンのファイルまたはディレクトリ
+	$ancestor: マージに使用される共通の祖先リビジョンのファイルまたはディレクトリ
+	$parent:   $parent1 の別名
+
+	$plabel1:  1つ目の親リビジョンのシンボル名
+	$plabel2:  2つ目の親リビジョンのシンボル名
+	$clabel:   比較元のリビジョンのシンボル名
+	$alabel:   マージに使用される共通の祖先リビジョンのシンボル名
+
+もちろん $parent2 と $ancestor は 3-way 差分を使用するときにのみ意味を持ちます。
+使用している差分表示ツールが共通の祖先リビジョンを扱うことができないのであれば、
+diff3args から削除しても構いません。
+
+.. note::
+	Windows では `executable` 引数において環境変数を ${ProgramFiles}
+	という書き方で使用することができます。
+
+未設定の場合、 **diffargs** のデフォルト値は '$parent $child'、
+**diff3args** は "" (空文字) になるため、デフォルトでは 3-way
+比較が無効となります。
+
+新しく設定を作成したり、既存のツールの設定を改良したときは
+是非私たちの開発メーリングリストに投稿してください。
+将来のリリースで利用させていただきます。
+
+
+Office ファイルの差分
+~~~~~~~~~~~~~~~~~~~~~
+
+TortoiseHg の Windows インストーラには様々なバイナリファイルを比較・マージするために
+TortoiseSVN のスクリプトを同梱しています。
+それらは TortoiseHg のインストールディレクトリにある
+:file:`mergepatterns.rc` ファイルで設定されているため、
+使用にあたって特別な追加設定などは不要です。
+
+ファイルの拡張子によって使用する差分表示ツールを変更するために、
+TortoiseHg は Mercurial の
+`merge-patterns <http://www.selenic.com/mercurial/hgrc.5.html#merge-patterns>`_
+にならって **[diff-patterns]** セクションをサポートしています。
+
+
+ツリービュー内検索
+------------------
+
+ステータス、コミット、シェルフ、チェンジログツールのファイル一覧、
+チェンジログビューアのグラフ表示パネル、リポジトリ検索ツールのコメントパネルなど
+多くの TortoiseHg ダイアログでツリービューを利用しています。
+
+TortoiseHg のツリービューの大部分はインクリメンタル検索が可能です。
+どれか行を1つ選択するなどして、ツリービューがフォーカスされている状態で
+検索キーワードの入力を始めてください。入力した検索キーワードを含む小さな
+テキスボックスが表示されて、ツリービューは最初にマッチした行にジャンプします。
+さらに入力を続けると検索結果が絞られます (エンターキーを押しても次のマッチ項目
+にジャンプしないので注意してください。検索ボックスが消えて検索が終了してしまいます)。
+
+* :kbd:`Ctrl-F` は明示的に検索テキストボックスを開きます
+* :kbd:`Ctrl-G` 次にマッチした行に移動します
+* :kbd:`Shift-Ctrl-G` 前にマッチした行に移動します
+* マウスのホイールを回転させると前後のマッチ行に移動します
+
+HG コマンドダイアログ
+---------------------
+
+TortoiseHg ダイアログの多くは Mercurial のコマンド実行の状況をリアルタイムに
+表示するため *hgcmd* を使用しています。
+
+.. figure:: figures/hgcmd.png
+	:alt: Mercurial コマンドダイアログ
+
+	Mercurial コマンドダイアログ
+
+.. note::
+	エラーメッセージは目立つように赤い文字として表示されます
+
+Mercurial コマンドの実行が終了したとき、ダイアログは :guilabel:`閉じる` ボタンに
+フォーカスを移動させます。そのため :kbd:`Enter` キーを押すだけでウィンドウを
+閉じることができます。
+
+.. vim: noet ts=4

File thg/html/_sources/daily.txt

+*********************
+TortoiseHg ダイアログ
+*********************
+
+.. toctree::
+	:maxdepth: 3
+	
+	common
+	explorer
+	init
+	clone
+	commit
+	shelve
+	changelog
+	datamine
+	synchronize
+	serve
+	guess
+	ignore
+
+.. vim: noet ts=4

File thg/html/_sources/datamine.txt

+リポジトリ検索
+==============
+
+.. module:: datamine.dialog
+	:synopsis: リポジトリ履歴から検索を行うダイアログ
+
+リポジトリ検索ツールはリポジトリのリビジョン履歴を調べるのに使うことができます。
+*検索* と *コメント* の2種類のタブを持つアプリケーションです。
+
+
+検索タブ
+--------
+
+.. figure:: figures/search.png
+	:alt: 検索ダイアログ
+
+	検索タブ
+
+検索タブはすべてのリビジョン履歴からキーワード、変数名、関数名などで検索 (grep) できます。
+
+各テキストボックスは以下の意味があります:
+
+	:guilabel:`正規表現`
+		正規表現検索に使用する条件。
+	:guilabel:`次を含む`
+		検索対象に含めるパスをカンマ区切りで指定。指定されていない場合は、
+		リポジトリ全体が対象となります。つまりパスを指定して初めて検索対象が
+		絞り込まれます。
+	:guilabel:`次を含まない`
+		検索対象から外すパスをカンマ区切りで指定。
+		この条件より先に :guilabel:`次を含む` の条件が適用されます。
+
+テキストボックスの下のチェックボックスは以下のようになります:
+
+	:guilabel:`コピーと名前変更を追跡`
+		:guilabel:`次を含む` の条件が指定されていないとき、コピーまたは名前変更を考慮して検索します
+	:guilabel:`大文字小文字を区別しない`
+		アルファベットの大文字小文字を区別せず検索を実行します
+	:guilabel:`行番号の表示`
+		検索結果に該当個所の行番号を表示します
+	:guilabel:`該当リビジョンをすべて表示`
+		検索条件にマッチした直近のリビジョンだけでなく、すべてのリビジョンを表示します。
+		該当行が追加されたのか削除されたのかを示す +/- 記号が表示されます。
+
+検索タブは検索を開始するとそのキーワードにタブ名が変更されます。
+ツールバーの :guilabel:`中止` ボタンを押せば処理中の検索が停止しますが
+(:guilabel:`中止` ボタンは検索中にのみ押せる状態になります)、
+:guilabel:`新規検索` ボタンを押せば新しい検索タブを開くことができます。
+
+
+検索結果
+^^^^^^^^
+
+検索結果は該当チェンジセットへのリンクとなり、マウスカーソルを乗せることでツールチップ
+(コミッタ、日時、コミットログ) が表示されます。検索結果の各行で右クリックをすると
+次の機能を持つ右クリックメニューが表示されます:
+
+	:guilabel:`変更点の表示`
+		このチェンジセットをチェンジセットダイアログで開き、すべての変更点を確認します
+	:guilabel:`コメントする`
+		このリビジョンのファイルをコメントタブで開きます
+	:guilabel:`履歴の表示`
+		チェンジログビューアでこのファイルのリビジョン履歴を表示します
+	:guilabel:`ファイルの表示`
+		そのファイルをあらかじめ設定された GUI エディタで開きます
+
+コメントタブ
+------------
+
+.. figure:: figures/annotate.png
+	:alt: コメントタブ
+
+	コメントタブ
+
+リビジョングラフパネル (上半分) にはそのチェンジセットにおける変更全体を
+チェンジセットダイアログで表示するための右クリックメニューが用意されています。
+リビジョングラフパネルのリビジョンをダブルクリックすると下半分のパネルに
+ファイルのコメント情報が更新されます。
+
+コメントパネル (下半分) は現在のコメント情報です。パネル内の各行も同様にチェンジセットへの
+リンクになっています。行をダブルクリックすると上半分のパネルが更新され、
+その行が追加または変更されたチェンジセットが表示され、フォーカスが移動します。
+
+コメントパネル内の各行は2つの指標に基いて色分けされており、コミッタが色相 (色の違い)、
+最後の変更からの経過時間が彩度になっています。つまり、古い変更になるほど
+色が薄くなるわけです。
+
+コメントパネルの列ヘッダ部分 (行、リビジョン、ソース) で右クリックすると表示される
+右クリックメニューからデフォルトでは表示されていない :guilabel:`ファイル名` と
+:guilabel:`ユーザ` 列を表示できます。
+
+
+名前変更の追跡
+^^^^^^^^^^^^^^
+
+コメント情報のデータはコードの各行が作成された初期チェンジセットを探し出すために
+自動的にコピーや名前変更の履歴をさかのぼって収集されます。
+
+一方で、リビジョングラフは
+自動的に名前変更やコピーをたどりません。その代わり、リビジョン一覧の名前変更またはコピーを
+含むチェンジセット行をクリックすると、その履歴をたどったグラフを表示するためのボタンが
+表示されます。そのボタンを押すと同じチェンジセットの古いファイル名でコメントタブが開きます。
+リビジョングラフも同様に名前変更とコピーをたどって表示されるため、異なるファイル名を含む
+チェンジセット同士が接続される場合があります。その場合はグラフの色が変化します。
+
+オプション設定
+^^^^^^^^^^^^^^
+
+コメントタブは以下の他のツールの設定項目を使用しています:
+
+:menuselection:`チェンジログ --> コミッタの色分け`
+	チェンジセットをコミッタごとに色分けします
+:menuselection:`チェンジログ --> 改行を無視してログを表示`
+	コミットメッセージの改行を無視して、最大80文字まで表示します
+:menuselection:`TortoiseHg --> タブ文字の幅`
+	コメント情報の表示でタブ文字1つあたりいくつの空白に展開するかを指定します
+
+
+コマンドラインからの実行
+------------------------
+
+リポジトリ検索ツールはコマンドラインから起動することもできます: ::
+
+	hgtk datamine
+
+	aliases: annotate, blame
+
+	repository search and annotate tool
+
+	use "hgtk -v help datamine" to show global options
+
+.. vim: noet ts=4

File thg/html/_sources/debugging.txt

+TortoiseHg のデバッグ
+=====================
+
+.. module:: debugging
+	:synopsis: TortoiseHg のダイアログやシェル拡張をデバッグするためのヒント
+
+
+ダイアログ
+----------
+
+標準エラー出力はプログラムの終了時点でバッファに補足されます。
+何らかの深刻なエラーが標準エラー出力で見つかった場合、ユーザがバグを報告できるように
+そのすべての内容がバグレポートツールに送信されます。
+出力されていないエラーがあるかもしれない場合は環境変数 **THGDEBUG** を設定して
+標準エラー出力のバッファリングを無効化してください。
+
+多少 Python の経験があれば: ::
+
+    hgtk --debugger <command>
+
+を使うこともできます。
+
+hgtk によるダイアログ用の別プロセス生成を無効にするには環境変数 **THG_HGTK_SPAWN**
+を設定するか、コマンドラインから '--nofork' オプションを使って起動してください。
+
+
+Windows
+~~~~~~~
+
+例えばチェンジログビューアをデバッグする場合、コマンドプロンプト (:command:`cmd.exe`)
+を起動してリポジトリに移動し、次のコマンドを実行してください: ::
+
+	set THGDEBUG=1
+	hgtk log
+
+
+Linux または MacOSX
+~~~~~~~~~~~~~~~~~~~
+
+例えばチェンジログビューアをデバッグする場合、ターミナルでリポジトリに移動し、
+次のコマンドを実行してください: ::
+
+	export THGDEBUG=1
+	hgtk log
+
+
+シェル拡張
+----------
+
+デバッグ方法はプラットフォームに依存します。
+
+
+Windows エクスプローラ
+~~~~~~~~~~~~~~~~~~~~~~
+
+http://msdn.microsoft.com/en-us/library/cc144064(VS.85).aspx に
+Windows シェル拡張を実行・デバッグするための情報が掲載されています。
+
+SysInternals による :command:`DbgView` ツールはシェル拡張からのデバッッグ情報を
+補足することができます。
+
+:command:`ThgTaskbar` アプリケーションの設定ダイアログにはエラーログが表示される
+タブがあります。このダイアログを開いた状態でエクスプローラを使ってリポジトリを
+閲覧すると各種デバッグメッセージを取得することができます。
+
+
+Nautilus ファイルマネージャ
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+環境変数 DEBUG_THG を設定して、
+
+* 個別のプロセスをテストします: ::
+
+    DEBUG_THG=Ne TMPDIR=/tmp/anydir/ --no-desktop nautilus [path]
+
+* メインインスタンスをテストします: ::
+
+    nautilus -q
+    DEBUG_THG=NOe nautilus
+
+* 常にデバッグ状態で起動したい場合は環境変数 DEBUG_THG をセッション開始と共に
+  読み込まれる設定ファイル (~/.profile, ~/.xprofile など) に設定してください。
+
+.. NEEDFORTRANSLATION
+
+Upper case characters in DEBUG_THG specify modules.  Only *O* and *N*
+for *OverlayCache* and *Nautilus*, respecively, are supported module
+names.  Lower case characters imply parts. Only *e* is supported,
+implying *error* messages.
+
+Nautilus を再起動は次のどちらかの方法で可能です:
+
+1) すべての Nautilus プロセスを削除する (セッションが自動的に Nautilus を再起動し、標準入出力先は ~/.xsession-errors)
+
+2) コマンドラインから :command:`nautilus -q; nautilus` を実行 (標準入出力先はコンソール)

File thg/html/_sources/explorer.txt

+Windows エクスプローラ統合
+==========================
+
+.. module:: explorer
+	:synopsis: Windows エクスプローラへの統合
+
+アイコンオーバーレイ
+--------------------
+
+TortoiseHg は Windows エクスプローラのアイコンオーバーレイを通じてファイル状態の
+視覚的に表示します。これは TortoiseCVS や TortoiseSVN といった他の Tortoise
+クライアントのそれと似た機能です。
+
+TortoiseHg は TortoiseOverlays (TortoiseSVN チームによるプロジェクト)
+を利用することでアイコンオーバーレイを TortoiseSVN (バージョン 1.5 系以降)
+や他の "Tortoise" プロジェクトと共有します。
+
+.. figure:: figures/overlayicons.png
+	:alt: アイコンオーバーレイ
+
+	:menuselection:`表示 --> アイコン` で表示したアイコンオーバーレイ (Windows XP)
+
+右クリックメニューには :guilabel:`アイコンの更新` メニューが用意されており、
+強制的に現在表示しているリポジトリまたはディレクトリのアイコンを最新の状態に
+更新できます。更新中はタスクバーアイコンが緑色になり、ディレクトリのアイコンオーバーレイは
+「?」マークが表示されます。
+
+アイコンオーバーレイと右クリックメニューは設定可能です。
+どのフォルダ (もちろんデスクトップも可) でもいいのでアイコンのない場所で
+右クリックメニューを開いて、 :menuselection:`TortoiseHg --> エクスプローラ設定`
+を選択します。設定ダイアログではメニューを個別にトップに移動できます。
+
+.. figure:: figures/taskbarui.png
+	:alt: エクスプローラ設定ダイアログ
+
+	エクスプローラ設定ダイアログ
+
+また :file:`.hg\\thgstatus` ファイルを編集することで特定のリポジトリだけで
+アイコンオーバーレイを無効にすることもできます。
+次の1行だけが書かれたファイルを作成してください: ::
+
+	@@noicons
+
+
+右クリックメニュー
+------------------
+
+TortoiseHg の各種ダイアログを開くためのコマンドは普段使っている
+エクスプローラから実行します。次のスクリーンショットは Mercurial
+管理下にあるディレクトリの右クリックメニューです:
+
+.. figure:: figures/cmenu-nofiles.png
+	:alt: 右クリックメニュー (ディレクトリ)
+
+	Mercurial 管理下にあるディレクトリの右クリックメニュー
+
+そしてこれはファイルまたはディレクトリを選択した状態で開いた右クリックメニューです:
+
+.. figure:: figures/cmenu-files.png
+	:alt: 右クリックメニュー (ファイル)
+
+	ファイルまたはディレクトリを選択した状態で開いた右クリックメニュー
+
+TortoiseHg は普段よく使う Mercurial コマンドに対応したダイアログを提供します。
+一方で滅多に使わないコマンドや、比較的最近追加されたコマンドは
+:file:`cmd.exe` などのコマンドライン (CLI) 経由で実行します。
+
+
+Nautilus
+--------
+
+TortoiseHg は nautilus-python プラグインを利用して GNOME デスクトップ環境の
+シェルとの統合も提供しています。頒布パッケージから TortoiseHg をインストールした
+場合はこの拡張機能も既に設定済みです。そうでない場合は Wiki を参考にしてください。
+
+Nautilus 拡張機能のアイコンオーバーレイや右クリックメニューを設定するための GUI
+が用意されるまでの間は、 :file:`~/.hgrc` ファイルを編集することでメニュー項目を
+トップに持ってくる設定のみ可能です。以下の設定を追加してください::
+
+	[tortoisehg]
+	promoteditems = commit, log, synch
+
+.. figure:: figures/nautilus.png
+	:alt: Nautilus スクリーンショット
+
+	GNOME/Nautilus スクリーンショット
+
+.. vim: noet ts=4

File thg/html/_sources/extensions.txt

+********
+拡張機能
+********
+
+.. module:: extensions
+	:synopsis: TortoiseHg バイナリパッケージに同梱されている拡張機能について
+
+この章では Windows 向けの TortoiseHg バイナリパッケージに標準添付されている
+Mercurial の拡張機能について述べます。これらの拡張機能は TortoiseHg
+をより便利に使ってもらうためで、必要になったらすぐに簡単に有効にできます。
+
+Hgfold
+======
+
+`hgfold <http://mercurial.selenic.com/wiki/CaseFoldExtension>`_
+は VFAT および NTFS 上におけるファイル名の大文字小文字の違いによる名前衝突を回避したい
+Windows ユーザ向けの Mercurial 拡張機能です。
+
+この拡張機能は以下の Mercurial コマンドにオプションを追加します。詳しいヘルプは
+:command:`hg help <command>` で見ることができます: ::
+
+	up    - ファイル名の衝突を解決して特定のリビジョンへ更新
+	merge - ファイル名の衝突を解決してマージ
+
+**インストール**
+
+この拡張機能をテストするためにコマンドラインから次のように実行します: ::
+
+	hg --config "extensions.fold=" status
+
+今後も継続して使用したい場合は Mercurial.ini またはリポジトリの hgrc に次のように記述してください: ::
+
+	[extensions]
+	fold=
+
+この設定をすればコマンドラインで --config 引数を指定する必要はありません。
+
+**注意**
+
+通常のマージコマンドと同様、 fold.py は作業ツリーの親を変更する必要があります。
+まだ実験的な拡張機能ですので十分注意して使用してください。
+
+:command:`hg recover` を実行後に何かエラーが発生した場合は
+:command:`hg debugsetparents <number of tip revision>`
+を試してみてください。tip リビジョンの番号は :command:`hg log -l 2`
+で調べることができます。
+
+Hgcr-gui
+========
+
+`コードレビュー <http://bitbucket.org/glimchb/hgcr-gui/wiki/Home>`_ 管理ツール
+
+* この拡張機能はプロジェクトのコードレビューを管理します。
+* レビュー管理を Mercurial 内で完結させます。
+* One can add files to the review, remove them and notify reviewr that files are ready for review.
+* レビューアはコードに "完了" とマークして、開発者にメッセージを返します。
+* プロジェクトマネージャはレビュー状況を確認できます - どのファイルがレビュー済みでどれがまだなのか。
+* hgcr は自動的に最後にレビューした時点から変更されたファイルを見つけ出して通知します。
+* この拡張機能は TortoiseHg の GUI を利用しますが、コマンドラインから使うことができます。
+* コードレビューのデータベースはリポジトリのルートディレトリに .code-review という名前のファイルとして保存されます。
+
+**使い方**::
+
+	hg cr [OPTIONS] [FILES]
+
+	Code Review Plugin (requires Mercurial 1.3.x and TortoiseHg 0.9)
+
+	options:
+
+	 -c --complete  Mark CR as complete
+	 -a --add       Add files to CR list
+	 -r --remove    Remove files from CR list
+	 -l --list      Print files in CR list
+
+	use "hg -v help cr" to show global options
+
+.. note::
+	オプションなしで実行すると GUI が起動します。
+
+**詳細説明**
+
+.. NEEDFORTRANSLATION
+
+* I've implemented the review around files and not changesets, because at the end,
+  I want to be able to tell for the specific project if all the files went through
+  code review process or not - the project status.
+* おそらくあなたは多くの開発者と管理しなければならない複数のプロジェクトを持っていて、
+  開発者のコードをレビューするグループがあります。
+* 開発者のように変更点を追い続けるのは非常に難しいことですが、どのファイルが
+  (レビューアによって) レビュー済みでどれがまだなのかを知るのは簡単です。
+* この拡張機能を使えば開発者は作業が終わった段階でレビューが必要なファイルにマークを付けて、
+  レビューアに知らせることができます。
+* コードレビューのデータベースにチェンジセットが保管されているので、
+  レビューアはチェンジセットをひろってきてコードレビューを始めます
+  (開発者のコードに注釈を付けられる)。
+* そしてコードレビューが終わり次第レビューアは "レビュー完了"
+  のマークを付けて開発者に知らせます。
+* プロジェクトマネージャはいつでもプロジェクトがどうなっているのか確認できます。
+
+**インストール**
+
+Mercurial.ini またはリポジトリの hgrc に次のように記述してください: ::
+
+	[extensions]
+	hgcr-gui=
+
+Perfarce
+========
+
+`ウェブサイト <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_
+
+この拡張機能については `こちら <nonhg.html#perfarce>`_ で解説しています。
+
+HGEOL
+=====
+
+hgeol は将来 win32text 拡張機能に取って代わる拡張機能で、
+より完全で確実な方法で改行文字問題の解決を試みます。
+まだ未確定な部分も多く、頻繁に内容が書き変わることが予想されるため、
+ここに詳細な説明を書くかわりにリンクを張っておきます。
+
+* `EOLTranslationPlan <http://mercurial.selenic.com/wiki/EOLTranslationPlan>`_
+* `ソースコード <http://bitbucket.org/mg/hg-eol/>`_
+
+Mercurial-Keyring
+=================
+
+* `Mercurial Keyring <http://pypi.python.org/pypi/mercurial_keyring>`_ ウェブサイト
+* `Keyring 拡張機能 <http://mercurial.selenic.com/wiki/KeyringExtension>`_ Wiki
+
+keyring 拡張機能は安全に認証パスワード (HTTP/HTTPS and SMTP) をシステム固有の
+パスワードデータベース (Gnome Keyring, KDE KWallet, OSXKeyChain, Win32,
+コマンドライン) に保存するために keyring ライブラリのサービスを使います。
+
+**何をするのか**
+
+この拡張機能は初回のリモートリポジトリとのプル/プッシュ操作時に
+HTTP パスワードの入力を促し、それをパスワードデータベースに保存します
+(ユーザ名とリポジトリ URL の組み合せのキーで)。
+それ以後は .hg/hgrc のユーザ名を確認して適切なパスワードを
+パスワードデータベースから取り出して使用します。
+
+同様に認証を必要とする SMTP 経由のメール送信についても初回のみ入力を要求し、
+次回からはパスワードデータベースのパスワードを再利用します。
+
+パスワード認証に失敗した場合は再び入力を求めます。
+
+**インストール**
+
+まずは拡張機能を Mercurial.ini ファイルで有効にしてください: ::
+
+	[extensions]
+	mercurial_keyring=
+
+**バックエンドの設定**
+
+使用しているシステムに最適なバックエンドは自動的に選択されますが、
+必要に応じて ~/keyringrc.cfg ファイル (ユーザのホームディレクトリの
+keyringrc.cfg ファイル) を設定することで指定可能です。
+設定に関する詳細は `keyring ドキュメント <http://pypi.python.org/pypi/keyring>`_
+を参照してください。
+
+.. note::
+	Windows XP 以降の Windows では、暗号化されたパスワードは
+	`CredRead <http://msdn.microsoft.com/en-us/library/aa374804%28VS.85%29.aspx>`_ と
+	`CredWrite <http://msdn.microsoft.com/en-us/library/aa375187%28VS.85%29.aspx>`_
+	を用いて、Credentials Subsystem に保管されます。