|
TortoiseHg Datamine
===================
.. module:: datamine.dialog
:synopsis: Dialog used to search in the history
The datamine application is used to inspect the revision history of your
repository. It is a tabbed application that supports two tab types,
*Search* and *Annotate*.
Search Tabs
-----------
.. figure:: figures/search.png
:alt: Search dialog
Search dialog
The search tab is used to search (*grep*) through your entire revision
history for keywords, variable names, functions, etc...
The text entry fields have these purposes:
*regexp*
this is where you enter your regular expression search criteria.
*includes*
a comma separated list of paths to include in your search. If no
paths are given, the search is assumed to be repository wide. In
other words, specifying an include path actually narrows the search
criteria.
*excludes*
a comma separated list of paths to exclude from your search.
Exclusion patterns are applied after inclusion patterns.
The toggle buttons below the entry fields are for:
:guilabel:`Follow copies and renames`
follow searches through copies and renames out of inclusion filters
:guilabel:`Ignore case`
Perform the search without case considerations
:guilabel:`Show line numbers`
Show line numbers at the front of the matching lines
:guilabel:`Show all matching revisions`
Show every instance where the search criteria matches in a file, not
just the most recent revision. It shows +/- to indicate whether the
change adds or removes your search text.
Search tabs are named after the search string most recently used to
start a search. The :guilabel:`New Search` toolbar button will
obviously open a new search tab while the :guilabel:`Stop` button will
terminate an ongoing search (the :guilabel:`Stop` button is only
sensitive when a search is in progress).
Matches
-------
Each match will be a link to a changeset and will have a descriptive
tooltip (author, date/time, summary). Right clicking on a matched line
will bring up a context menu with these features:
:guilabel:`display change`
open a changeset window with this changeset, to see the full context
:guilabel:`annotate file`
open an annotation tab for this file at this revision
:guilabel:`file history`
open a changelog window with this file's revision history
Annotate Tabs
-------------
.. figure:: figures/annotate.png
:alt: Annotate tabs
Annotate tabs
The revision graph has a simple context menu for opening the entire
changeset in the changeset browser. Activating a row in the revision
graph updates the file annotation to that revision.
In the bottom pane is the actual annotation. Each line in the annotation
is also a link to the changeset which provided that line. Activating a
row will open that changeset in the changeset browser.
The color scheme in the annotation pane is two tier. Authors are
determined by hue, and age is determined by saturation. The older a
change is, the lighter the color becomes.
By right-clicking on the annotate pane's column headers (Line, Rev,
Source) you can bring up a menu for showing two optional columns:
:guilabel:`filename` and :guilabel:`user`.
Following Renames
^^^^^^^^^^^^^^^^^
The annotation data will automatically follow lines of code back through
copies and renames to find the initial changeset that introduced that
line. The graph log pane will not follow renames or copies
automtaically. Instead, when you click on a changeset in the revision
graph that involved a rename or copy event, a button will appear that
will allow you to follow the history graph back through the rename.
Clicking on the button will open a new tab with the older filename
annotated at the same changeset.
Configurables
^^^^^^^^^^^^^
The annotate tabs support the following configurations defined primarily
for other tools:
:menuselection:`Changelog --> Author Coloring`
Give each author a separate color in the changelog graph
:menuselection:`TortoiseHg --> Tab width`
Number of spaces to expand tabs in diffs and annotate output
From command line
-----------------
The datamine tool can be started from command line ::
hgtk datamine
or ::
hgtk annotate
or ::
hgtk blame
The syntax is simple, no options or parameters are needed, except the global options.
.. vim: noet ts=4
|
Loading...