File: datamine.txt

package info (click to toggle)
tortoisehg 1.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 12,248 kB
  • ctags: 2,416
  • sloc: python: 24,809; xml: 316; makefile: 86
file content (136 lines) | stat: -rw-r--r-- 4,441 bytes parent folder | download
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Datamine
========

.. module:: datamine.dialog
	:synopsis: Dialog used to search repository 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 tabs

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:

	:guilabel:`regexp`
		Regular expression search criteria.
	:guilabel:`includes`
		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.
	:guilabel:`excludes`
		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
	:guilabel:`view file at revision`
		open the current file at the specified revision in your favorite
		text editor.


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 zoom the changelog (top pane) to the changeset that introduced
that line and change focus to the top pane.

The color scheme in the annotation pane is two dimensional. Authors
determine hue, and age determines saturation. The older a change, the
lighter the color.

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 the
line.  The graph log pane will also attempt to follow renames and
copies, so some lines in the graph may correlate to different filenames
than the original annotated file path.  Renames are indicated in the
graph by color changes within a column.

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:`Changelog --> Long Summary`
	Concatenates lines of commit message together to reach an 80
	character summary.
: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

	aliases: annotate, blame

	repository search and annotate tool

	use "hgtk -v help datamine" to show global options

.. vim: noet ts=4