リポジトリ検索
==============

.. 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
