Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8.2, 0.8.3, and 0.9

stable merge with stable

Changeset 0ff451ceba9c

Parents d9d8904bafa0

Parents a80ae479c982

by Giampaolo Fadel

Changes to 34 files · Browse files at 0ff451ceba9c Showing diff from parent d9d8904bafa0 a80ae479c982 Diff from another changeset...

 
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
 
32
33
34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
36
37
 
45
46
47
48
49
50
51
52
53
 
 
 
 
 
 
54
55
56
 
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
 
117
118
119
 
 
120
 
 
121
122
123
 
 
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
 
 
 
 
 
 
 
 
 
 
 
 
 
140
141
142
 
151
152
153
154
 
 
155
156
157
 
159
160
161
162
163
164
165
166
167
168
169
 
 
 
 
 
 
170
171
172
173
174
 
 
 
 
 
 
 
 
 
175
176
177
178
179
180
181
182
183
184
185
186
187
188
 
 
 
 
 
 
 
 
189
190
191
 
196
197
198
199
200
201
202
203
204
 
 
 
 
 
 
205
206
207
 
209
210
211
212
 
213
214
 
215
216
 
217
218
 
219
220
 
221
222
223
224
225
 
226
227
 
 
 
1
2
3
4
5
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
8
9
 
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
 
46
47
48
 
 
 
 
 
 
49
50
51
52
53
54
55
56
57
 
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
 
122
123
124
125
126
127
128
129
130
 
 
131
132
133
134
135
136
 
 
 
 
 
 
 
 
 
 
 
 
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
 
161
162
163
 
164
165
166
167
168
 
170
171
172
 
 
 
 
 
 
 
 
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
 
 
 
 
 
 
 
 
199
200
201
202
203
204
205
206
207
208
209
 
214
215
216
 
 
 
 
 
 
217
218
219
220
221
222
223
224
225
 
227
228
229
 
230
231
 
232
233
 
234
235
 
236
237
 
238
239
 
 
 
 
240
241
242
@@ -1,27 +1,9 @@
-TortoiseHg Changelog Viewer -=========================== +Changelog +=========    .. module:: changelog.dialog   :synopsis: Dialog used to view log   -.. figure:: figures/log.png - :alt: Changelog - - Changelog viewer dialog - -The toolbar buttons from left to right: - -:guilabel:`Refresh` - Reload the revision history (if you commit in another window, etc) -:guilabel:`Filter` - Open revision filter dialog, also has drop-down for common filters -:guilabel:`Datamine` - Open datamine application for history searches and file annotations -:guilabel:`Other Parent` - Only active when viewing merge changesets, toggles parents -:guilabel:`Synchronize` - Communicate changes with other repositories -  The changelog tool is primarily used to visualize the revision history  of your repository. It presents a graph of the revision history, showing  the parent/child relationship of each change. At each revision you can @@ -32,6 +14,25 @@
 tool for viewing and selecting changesets, we use it to perform nearly  all our tasks that involve changeset manipulation.   +.. figure:: figures/log.png + :alt: Changelog + + Changelog viewer dialog + +The toolbar buttons from left to right: + + :guilabel:`Refresh` + Reload the revision history (if you commit in another window, etc) + :guilabel:`Filter` + Open revision filter dialog. The toolbar button also has + drop-down for common filters + :guilabel:`Datamine` + Open datamine application for history searches and file annotations + :guilabel:`Other Parent` + Toggles parent revision when viewing merge changesets + :guilabel:`Synchronize` + Opens synchronize tool to communicate changes with other repositories +    Revision Graph Details  ---------------------- @@ -45,12 +46,12 @@
 On the right of the revision graph are three buttons. From top to bottom  these are:   -:guilabel:`column toggles` - toggle the display of columns in the graph -:guilabel:`next-N revisions` - load the next N revisions into the graph -:guilabel:`all revisions` - load all remaining revisions into the graph + :guilabel:`column toggles` + toggle the display of columns in the graph + :guilabel:`next-N revisions` + load the next N revisions into the graph + :guilabel:`all revisions` + load all remaining revisions into the graph    The column visibility toggles are sticky settings.   @@ -61,52 +62,56 @@
 Right-clicking on a revision in the (top) graph pane will bring up the  revision context menu.   -:guilabel:`visualize change` - open this change in your visual diff tool -:guilabel:`display change` - open this changeset in the changeset browser (more below) -:guilabel:`diff to local` - display changes (visual diff) between this revision and your current - working directory -:guilabel:`update` - update your working directory to this revision [#rcm1]_ -:guilabel:`merge with` - merge with this revision [#rcm2]_ -:guilabel:`copy hash` - copy current revision's full hash to the clipboard -:guilabel:`export patch` - generate a patch file of this revision's changes -:guilabel:`email patch` - send this revision's changes to email recipient [#rcm3]_ -:guilabel:`bundle rev:tip` - create a bundle with all revs from selected to tip -:guilabel:`add/remove tag` - opens the TortoiseHg tag dialog with this revision selected -:guilabel:`backout` - create a backout changeset for selected revision -:guilabel:`revert` - revert working copy to this revision's contents, without updating working - directory parent revision. Use with care. -:guilabel:`strip` - Remove the selected revision and all of it's descendants from the - repository [#rcm4]_ + :guilabel:`visualize change` + open this change in your visual diff tool + :guilabel:`display change` + open this changeset in the changeset browser (more below) + :guilabel:`diff to local` + display changes (visual diff) between this revision and your + current working directory + :guilabel:`update` + update your working directory to this revision [#rcm1]_ + :guilabel:`merge with` + merge with this revision [#rcm2]_ + :guilabel:`copy hash` + copy current revision's full hash to the clipboard + :guilabel:`export patch` + generate a patch file containing this revision's changes + :guilabel:`email patch` + send this revision's changes to email recipient [#rcm3]_ + :guilabel:`bundle rev:tip` + create a bundle with all revs from selected to tip + :guilabel:`add/remove tag` + opens the TortoiseHg tag dialog with this revision selected + :guilabel:`backout` + create a backout changeset for selected revision + :guilabel:`revert` + revert working copy to this revision's contents, without + updating working directory parent revision. Use with care. + :guilabel:`strip` + Remove the selected revision and all of it's descendants from the + repository [#rcm4]_      If you right-click on a row other than the one that was currently  selected, you get a different context menu. This context menu has  commands that deal with arbitrary revision ranges.   -:guilabel:`diff with selected` - Description -:guilabel:`visual diff with selected` [#rcm5]_ - Description -:guilabel:`email from here to selected` - Description -:guilabel:`bundle from here to selected` - Description -:guilabel:`merge with selected` [#rcm6]_ - Description - + :guilabel:`diff with selected` + Opens status viewer with cumulative changes of the range of + changesets. + :guilabel:`visual diff with selected` [#rcm5]_ + Opens visual diff window with cumulative changes of the range + of changesets. + :guilabel:`email from here to selected` + Opens email dialog with range of changesets. + :guilabel:`bundle from here to selected` + Creates a bundle file with range of changesets. + :guilabel:`merge with selected` [#rcm6]_ + Merges this revision with the current working directory parent + revision. This menu item is only sensitive when the working + parent is the current selected revision. +  .. [#rcm1] Opens the TortoiseHg update/checkout dialog with this revision selected.  .. [#rcm2] Opens the TortoiseHg merge dialog with this revision selected.  .. [#rcm3] Opens the TortoiseHg email dialog with this revision selected. @@ -117,26 +122,31 @@
 .. [#rcm6] Only sensitive if the selected revision is your current working   directory parent   +Revision Filter Dialog +----------------------   +.. figure:: figures/logfilter.jpg + :alt: Revision filter dialog   -File List Context Menus ------------------------ +File Context Menus +------------------    Right-clicking on filenames in the file list (bottom left) pane will  bring up a context menu for the selected file:   -:guilabel:`visual diff` - Open this revision of the file in your visual editor [#flcm1]_ -:guilabel:`diff to local` - Visualize differences between this revision and your checked out version -:guilabel:`save at revision` - Write this revision of the file to specified location -:guilabel:`file history` - Show revisions that modified this file [#flcm2]_ -:guilabel:`annotate file` - Open this file in the datamine app, annotated at this revision -:guilabel:`revert file contents` - Checkout this specific revision of this file [#flcm3]_ + :guilabel:`visual diff` + Open this revision of the file in your visual editor [#flcm1]_ + :guilabel:`diff to local` + Visualize differences between this revision and your checked + out version + :guilabel:`save at revision` + Write this revision of the file to specified location + :guilabel:`file history` + Show revisions that modified this file [#flcm2]_ + :guilabel:`annotate file` + Open this file in the datamine app, annotated at this revision + :guilabel:`revert file contents` + Checkout this specific revision of this file [#flcm3]_    .. [#flcm1] :menuselection:`Global Settings --> TortoiseHg --> Visual Editor`  .. [#flcm2] Does not show revisions where a file was deleted, as this is only a @@ -151,7 +161,8 @@
 a performance optimization. If you would like to see all of the file  diffs at once, click on the :guilabel:`[All Files]` row. The changeset  browser will also skip displaying diffs for files which are above a -maximum limit. See :menuselection:`Global Settings --> TortoiseHg --> Max Diff Size` +maximum limit. See +:menuselection:`Global Settings --> TortoiseHg --> Max Diff Size`    The changelog and datamine tools can open the changeset browser to view  a single revision or the combined effect of a range of revisions. The @@ -159,33 +170,40 @@
 a file list on the left of all files that have been changed, and a diff  pane on the right with the changes to each file.   -In release 0.7 of TortoiseHg, the 'diff change with' changeset browser -acquired the same change selection feature as the commit tool. You can -select files and hunks that you wish to extract from the changeset(s) -you are browsing and write them to a patch file using the -:guilabel:`Save as` toolbar button. This is a very efficient way to -cherry pick changes from a repository. This changeset browser also -supports the :kbd:`Ctrl-C` keyboard accelerator to copy hightlighted -diff hunks to the clipboard. +When opened in the 'diff change with' mode, you can select files and +hunks that you wish to extract from the changeset(s) you are browsing +and write them to a patch file using the :guilabel:`Save as` toolbar +button. This is a very efficient way to cherry pick changes from a +repository. This changeset browser also supports the :kbd:`Ctrl-C` +keyboard accelerator to copy hightlighted diff hunks to the clipboard.    Unfortunately, TortoiseHg still does not have a dialog for importing  changes into a repository, so this must be done on the command line with  the :command:`hg import` command.   +Keyboard navigation +------------------- + +:kbd:`Ctrl-P` + Zoom to the working directory parent revision +:kbd:`Ctrl-D` + Display visual diffs for selected changeset or file + +  Configurables  -------------    The changelog browser has a few configurable options that can be set in  the TortoiseHg Settings dialog on the Changelog tab.   -:guilabel:`Author coloring` - If true, each author's changeset will be given a unique color -:guilabel:`Long Summary` - Concatenate commit message lines until 80 chars are reached -:guilabel:`Graph batch limit` - Number of revisions to read in each batch load -:guilabel:`Copy Hash` - Copy a revision's changeset id hash to the clipboard when selected + :guilabel:`Author coloring` + If true, each author's changeset will be given a unique color + :guilabel:`Long Summary` + Concatenate commit message lines until 80 chars are reached + :guilabel:`Graph batch limit` + Number of revisions to read in each batch load + :guilabel:`Copy Hash` + Copy a revision's changeset id hash to the clipboard when selected    The exact colors given to particular users can be configured by adding  lines like these to your :file:`Mercurial.ini` file: :: @@ -196,12 +214,12 @@
 The changelog browser also respects the following settings on the  TortoiseHg tab:   -:guilabel:`Tab Width` - Number of spaces to expand tabs in diffs -:guilabel:`Max Diff Size` - Maximum size of file to be diffed -:guilabel:`Bottom Diffs` - Show diffs below file list + :guilabel:`Tab Width` + Number of spaces to expand tabs in diffs + :guilabel:`Max Diff Size` + Maximum size of file to be diffed + :guilabel:`Bottom Diffs` + Show diffs below file list      From command line @@ -209,19 +227,16 @@
   The changelog viewer can be started from command line ::   - hgtk log + hgtk log [OPTIONS] [FILE]   -or :: + aliases: history   - hgtk history + changelog viewer   -The syntax is :: + options:   - hgtk log [OPTIONS] [FILES] + -l --limit limit number of changes displayed   -Valid [OPTIONS] are: - -``-l``, ``--limit`` - Specify the limit number of changes displayed. + use "hgtk -v help log" to show global options    .. vim: noet ts=4
 
1
2
 
 
3
4
5
 
11
12
13
14
15
16
17
18
 
 
 
 
 
19
20
21
 
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
 
108
109
110
111
112
 
 
113
114
115
 
122
123
124
125
126
127
128
129
130
 
 
 
 
 
131
132
133
 
149
150
151
152
153
154
 
 
 
155
156
157
158
159
160
161
162
163
164
165
 
 
 
166
167
168
 
184
185
186
187
188
189
190
 
191
192
193
194
195
196
197
198
 
 
 
 
 
 
199
200
 
201
202
203
 
206
207
208
209
210
 
 
211
212
213
 
241
242
243
244
245
 
 
246
247
248
249
250
251
 
 
 
 
 
 
 
 
 
 
 
 
252
253
254
 
314
315
316
317
 
318
319
320
 
331
332
333
334
 
335
336
 
337
338
 
339
340
 
341
342
 
343
344
 
 
345
346
347
 
348
349
350
351
 
352
353
354
355
356
357
 
358
359
360
361
362
363
364
365
 
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
 
 
 
1
2
3
4
5
 
11
12
13
 
 
 
 
 
14
15
16
17
18
19
20
21
 
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
 
108
109
110
 
 
111
112
113
114
115
 
122
123
124
 
 
 
 
 
 
125
126
127
128
129
130
131
132
 
148
149
150
 
 
 
151
152
153
154
155
156
157
158
159
 
 
 
 
 
160
161
162
163
164
165
 
181
182
183
 
 
 
 
184
185
186
187
188
189
 
 
 
190
191
192
193
194
195
196
 
197
198
199
200
 
203
204
205
 
 
206
207
208
209
210
 
238
239
240
 
 
241
242
243
244
 
 
 
 
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
 
319
320
321
 
322
323
324
325
 
336
337
338
 
339
340
 
341
342
 
343
344
 
345
346
 
347
348
 
349
350
351
 
 
352
353
 
 
 
354
355
 
 
 
 
 
356
357
 
 
 
 
358
359
360
 
381
382
383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
@@ -1,5 +1,5 @@
-TortoiseHg Commit Tool -====================== +Commit +======    .. module:: commit.dialog   :synopsis: Dialog used to perform commit @@ -11,11 +11,11 @@
  `issue #82 <http://bitbucket.org/tortoisehg/stable/issue/82/>`_.    The commit tool is an important part of TortoiseHg. It is, in fact, the -only component that is launchable from the first level of the context -menu. This is mainly because it is the most heavily used tool. Not only -can you commit your changes, but you can examine the state of your -working directory and perform most routine maintenance tasks (add new -files, record renames, manage the repository ignore filter, etc). +only component that defaults to the top level shell context menu. This +is mainly because it is the most heavily used tool. Not only can you +commit your changes, but you can examine the state of your working +directory and perform most routine maintenance tasks (add new files, +record renames, manage the repository ignore filter, etc).    .. figure:: figures/commit.png   :alt: Commit dialog @@ -25,59 +25,59 @@
 Features  --------   -Walking across the toolbar, the buttons perform the following tasks: +Walking across the toolbar buttons:   -:guilabel:`Refresh` - Reload the state of the working directory. It tries to retain file - check and selection state across refresh, but not hunks. -:guilabel:`Commit` - Commit selected diffs in checked files. -:guilabel:`Undo` - Undo (rollback) last immediate commit. Your commit message will be - available in the message history, so you can re-do the commit after - fixing whatever problem you noticed. -:guilabel:`Revert` - Revert checked files to last revisioned state. -:guilabel:`Add` - Add checked files that were in unknown '?' state. These files will - then be versioned as soon as they are committed. -:guilabel:`Move` - Move checked files to specified target directory. This move is done - with Mercurial's full knowledge. -:guilabel:`Remove` - Delete checked unversioned files and/or remove (mark as deleted) any - versioned files. + :guilabel:`Refresh` + Reload the state of the working directory. It tries to retain + check and selection state across refresh. + :guilabel:`Commit` + Commit selected diffs in checked files. + :guilabel:`Undo` + Undo (rollback) last immediate commit. Your commit message will be + available in the message history, so you can re-do the commit after + fixing whatever problem you noticed. + :guilabel:`Revert` + Revert checked files to last revisioned state. If merging, it + allows you to select the revert parent. + :guilabel:`Add` + Add checked files that were in unknown '?' or ignored 'I' state. + :guilabel:`Move` + Move checked files to specified target directory in versioned + manner. + :guilabel:`Remove` + Delete checked unversioned files and/or remove (mark as deleted) any + versioned files.   -Below the toolbar are two other useful widgets: +Below the toolbar are useful widgets:   -:guilabel:`Branch name` - Shows the current branch name of the working directory. Normally - this is informational only, but you can create (open) a new branch - by changing this name before making a commit. Do not use this - feature unless you understand Mercurial's named branches. -:guilabel:`Recent Commit Messages` - A drop-down list of the 10 most recent commit messages. The behavior - of this drop-down has been tweaked in 0.7, and should behave - naturally. -:guilabel:`Patch name` - If you have enabled the MQ extension, there will also be a text - entry for a new patch name. Entering a name here will switch the - commit tool into 'QNew' mode where the working directory changes - will be applied to a new patch. + :guilabel:`Branch dialog` + Shows the current branch name of the working directory. Normally + this is informational only, but pressing this button opens up a + branch maintenance dialog. Do not use this feature unless you + understand Mercurial's + `named branches <http://mercurial.selenic.com/wiki/NamedBranches>`_. + :guilabel:`Recent Commit Messages` + A drop-down list of the 10 most recent commit messages. The + the drop-down list is filled the first time it is opened. + :guilabel:`QNew` + If you have enabled the MQ extension, there will also be a text + entry for a new patch name. Entering a patch name switches the + commit tool into 'QNew' mode.      The file list has four columns:   -1) A checkbox that indicates whether the file is selected for an - operation. The toolbar buttons only operate on checked files. - "Partially" selected files have a special check state. This column - header is checkable, it will toggle the file selection states. -2) The :guilabel:`st` column holds the status of the file, defined by - Mercurial's status command, one of 'MARD?IC'. -3) The :guilabel:`ms` column holds the merge state of the file, defined - by Mercurial's resolve command, one of ' RU'. See the merge section - below. -4) The canonical path of the file (relative to the repository root) + 1) A checkbox that indicates whether the file is selected for an + operation. The toolbar buttons only operate on checked files. + "Partially" selected files have a special check state. This + column header is checkable, it will toggle the file selection + states. + 2) The :guilabel:`st` column holds the status of the file, defined + by Mercurial's status command, one of 'MARD?IC'. + 3) The :guilabel:`ms` column holds the merge state of the file, + defined by Mercurial's resolve command, one of ' RU'. See the + merge section below. + 4) The canonical path of the file (relative to the repository root)    Below the file list are checkboxes that toggle the display of the  various classes of files {modified, added, removed, deleted, unknown, @@ -108,8 +108,8 @@
 on the command line.     -Change Selection (record) -------------------------- +Change Selection +----------------    So what does it mean when we say the commit button will commit the  selected diffs in checked files? Simple, the native TortoiseHg commit @@ -122,12 +122,11 @@
 When is this necessary?  ^^^^^^^^^^^^^^^^^^^^^^^   -Most often, it is when you have made more than a single coherent change -to your source code and you would like to commit your changes piecemeal. -This can often be accomplished by filtering the list of files in each -commit, but there will be times when your changes intermingle in the -same set of files and that's when this change selection feature becomes -indespensable. +When you have more than a single coherent change in your source code and +you would like to commit your changes piecemeal. This can often be +accomplished by filtering the list of files in each commit, but there +will be times when your changes intermingle in the same set of files and +that is when this change selection feature becomes indespensable.    How does it work?  ^^^^^^^^^^^^^^^^^ @@ -149,20 +148,18 @@
 What happens at commit time?  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^   -The short answer is that the selected files and hunks are committed to -the repository and the unselected changes are left in your working -directory for the next commit. +The short answer is that the selected hunks in checked files are +committed to the repository and the unselected changes are left in your +working directory for the next commit.    The long answer is a little more complicated. What happens behind the  scenes is that the files which are partially selected are backed up in a  safe location, reverted to their last revisioned state, have their  selected change hunks applied back to them, committed, and then finally  recovered from backup (thus placing the rejected change hunks back into -the working copy). - -For files which are not partially selected, the commit operation avoids -the entire *backup, revert, patch, commit, recover* round trip and -commits those files in place. +the working copy). Files which are not partially selected avoid the +entire *backup, revert, patch, commit, recover* round trip and instead +are committed in place.    This longer answer is only interesting when something goes wrong, which  on Windows unfortunately has a probability greater than 0. If some @@ -184,20 +181,20 @@
  changes in your working directory.    The code which copies the hunks to the clipboard is intelligent about -diff headers. If your highlighted list includes a hunk from a file but -not it's file diff header, the diff header will be added to the -clipboard in the appropriate location in the stream to make the -clipboard contents always be a valid patch. +diff headers. The clipboard contents will always be a valid patch.      File Context Menus  ------------------   -By right clicking on files in the file list, you will get a context menu -of commands that are applicable to the selected file. If you configure a -visual editor (in +By right clicking on a file in the file list, you will get a context +menu of commands that are applicable to the selected file. If multiple +files are selected, the context menu only applies to the first selected +file. + +If you have configured a visual editor (in  :menuselection:`Global Settings --> TortoiseHg --> Visual Editor`) -there will be a menu option to open the file in your editor. +this includes an option to open the file in your editor.    For unknown **?** files, the context menu will allow you to detect  renames (if you think the unknown file is a copy or rename of a @@ -206,8 +203,8 @@
 it).     -Merges ------- +Merging +-------    The commit tool has a special mode when it is opened in a repository  that is in a merged state (technically, this means the current working @@ -241,14 +238,22 @@
 may start the merge process again.     -Commit Message Format ---------------------- +Commit Message Pane +-------------------    If your project has guidelines for commit message format, you can -configure those in the settings tool. Once configured, the commit tool -will inform you if you try to commit with a non-conforming message. -There is also an :guilabel:`apply format` context menu option available -on the commit message pane that will try to enforce your policy. +configure those in the settings tool. The commit tool will enforce this +policy at commit time, and also has the ability to apply the policy to +the current message. + +The commit message pane has special context menu options: + + :guilabel:`Paste Filenames`: + Pastes checked filenames into the commit message at the cursor. + :guilabel:`Apply Format`: + Apply configured message wrap policy to current message. + :guilabel:`Configure Format`: + Opens the settings dialog to the :guilabel:`Commit` tab.    MQ patches  ---------- @@ -314,7 +319,7 @@
 -------------    :menuselection:`Commit --> Username` - Sets username associated with your commits + Sets username associated with your commits (see :doc:`quick`)  :menuselection:`Commit --> External Tool`   Allows you to select Qct as the your commit tool [DEPRECATED]  :menuselection:`Commit --> Summary Line Length` @@ -331,35 +336,25 @@
 From command line  -----------------   -The commit tool can be started from command line :: +The commit tool can be started from command line::   - hgtk commit + hgtk commit [OPTIONS] [FILE]...   -or :: + aliases: ci   - hgtk ci + commit tool   -The syntax is :: + options:   - hgtk commit [OPTIONS] [FILES] + -u --user record user as committer + -d --date record datecode as commit date   -where [FILES] is one or more file that must be commited, if no files are -specified TortoiseHg commits all the modified files, and valid [OPTIONS] are: + use "hgtk -v help commit" to show global options   -``-d``, ``--date`` - Use the specified date as commit date, if not specified the current date - and time is used. For a quick help on the format of date type:: +For a quick help on the format of date type::   - hgtk help dates - - or :: - - hg help dates + hg help dates   -``-u``, ``--user`` - Use the specified user name as author of the commit, if not specified the - user set in repository or global settings is used. -    Changes since 0.7  ----------------- @@ -386,37 +381,4 @@
 * The :file:`qct.py` extension file is no longer bundled. It must be   downloaded separately if you wish to use Qct.   - -Changes since 0.6 ------------------ - -Large changes were made to the commit tool in the 0.7 release. The -previous default tool, Qct, was unbundled and TortoiseHg's native commit -tool was promoted to the top spot. See the `FAQ <http://bitbucket.org/tortoisehg/stable/wiki/FAQ#tortoisehg-faq>`_ -for instructions on recovering Qct, if you must, but we suggest you first -read the rest of this page to understand how the native tool now measures up. - -The default layout of the native commit tool is different than Qct. The -file list is on the left side of the diff panel. If you prefer the Qct -layout, set the :menuselection:`Commit --> Bottom Diffs` configuration -item to :guilabel:`True` in the TortoiseHg settings dialog. This change -will take affect the next time you start the commit tool. - -Also different in the native commit tool is that all the diffs in the -working directory are shown in the diff panel at startup. Selecting -files in the file list will zoom to that file's diffs in the diff panel. -In Qct, selecting a file would refresh the diff pane with just that -file's diffs (which was also the behavior of the native tool before -0.7). The new behavior gives a better view of what the changeset being -committed will look like (it matches more closely to the changelog -view). - -New in the native commit tool in 0.7 is the auto-checking of -*M* odified, *A* dded, and *R* emoved files at startup as these are -all change types that are automatically included in any :command:`hg commit` -command with no arguments. Similarly, unknown *?* files are shown by -default at startup since that is standard behaviour for the :command:`hg status` -command. Qct was already doing both of these things, so this -will come as no surprise to Qct users. -  .. vim: noet ts=4
 
17
18
19
20
21
 
 
22
23
24
 
48
49
50
51
 
 
52
53
 
 
 
 
54
55
56
57
58
59
60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
62
63
 
84
85
86
87
88
89
 
90
91
92
93
 
 
94
95
96
 
 
 
 
 
 
97
98
 
17
18
19
 
 
20
21
22
23
24
 
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
 
119
120
121
 
 
 
122
123
 
 
 
124
125
126
 
 
127
128
129
130
131
132
133
134
@@ -17,8 +17,8 @@
 If the state to be restored does not fit within your current screen  dimensions, the application will revert to factory default dimensions.   -The TortoiseHg dialogs which are more transitory in nature allow the -window manager to place them where it wishes. +Dialogs which have fixed geometry or are transitory allow the window +manager to place them where it wishes.    Keyboard Accelerators  --------------------- @@ -48,16 +48,51 @@
 Visual Diffs  ------------   -0.8 introduced a visual diff dialog that solves four usability issues: +.. figure:: figures/visual-diff.jpg + :alt: Visual Diff Window   -1) The ability to select visual diff tools for individual files +TortoiseHg 0.8 introduced a visual diff dialog that solves four +usability issues: + +1) Allows you to select a visual diff tool for each individual file  2) Allows you to use visual diff tools that fork background processes  3) Allows you to use visual diff tools that do not support directory diffs  4) Provides feedback when no files were modified   -If you prefer the previous (<=0.7) behavior of directly launching your -visual diff tool, you can recover that behavior via the user settings -dialog and :menuselection:`TortoiseHg --> Skip Diff Window`. +Providing visual diffs requires TortoiseHg to generate temporary files +which contain older versions of data. Those temporary files are deleted +when the visual diff dialog is closed. + +If you would like to bypass this visual diff window and directly launch +your visual diff tool open the global settings dialog and set +:menuselection:`TortoiseHg --> Skip Diff Window` to true. + +.. note:: + The `Skip Diff Window` configurable does not change the behavior of + visual diffs launched by the shell context menu. The visual diff + window is always shown. + +.. warning:: + When you bypass the visual diff window, your visual diff tool must + be able to handle directory diffs and it must not fork a background + process. Caveat emptor. + +Configuring a visual diff application for use in TortoiseHg is a two +step process. First you must configure your application as an +`Extdiff <http://mercurial.selenic.com/wiki/ExtdiffExtension>`_ +command in your user :file:`Mercurial.ini`:: + + [extdiff] + myapp = C:\Path\to\tool.exe + +Then you can select `myapp` from the list of available extdiff +commands in :menuselection:`TortoiseHg --> Visual Diff Command`. +See the :doc:`faq` for some configuration examples. + +When more than one `Extdiff` command is configured, the visual diff +window will allow you to select the command to use as you open each +file. +    Treeview searches  ----------------- @@ -84,15 +119,16 @@
 -----------------    Many TortoiseHg tools use the *hgcmd* dialog to execute Mercurial -commands that could potentially be interactive. In release 0.8, the -dialog was changed to draw all error messages in a dark red color to -give them more contrast from normal output messages. +commands that could potentially be interactive.   -The dialog focuses its :guilabel:`Close` button when the command has -completed, so a simple :kbd:`Enter` is all that is required to close -the window. +.. figure:: figures/hgcmd.jpg + :alt: Mercurial command dialog   -*hgcmd* also responds appropriately to the global :kbd:`Ctrl-W` and -:kbd:`Ctrl-Q` keyboard accelerators. +.. note:: + Error messages are given a dark red color for contrast + +When the Mercurial command has completed, the dialog gives focus to its +:guilabel:`Close` button. So pressing :kbd:`Enter` is all that is +required to close the window.    .. vim: noet ts=4
 
16
17
18
 
 
19
20
 
16
17
18
19
20
21
22
@@ -16,5 +16,7 @@
  datamine   synchronize   serve + guess + ignore    .. vim: noet ts=4
 
1
2
 
 
3
4
5
 
6
7
8
 
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
 
54
55
56
57
 
58
59
60
61
62
63
64
65
66
67
68
 
 
 
 
 
 
 
69
70
71
 
82
83
84
85
 
 
86
87
88
89
 
 
 
90
91
92
 
96
97
98
99
 
100
101
102
 
112
113
114
 
 
 
115
116
117
 
122
123
124
125
 
126
127
 
128
129
130
131
132
133
 
134
135
 
 
 
1
2
3
4
 
5
6
7
8
 
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
 
53
54
55
 
56
57
58
59
60
61
 
 
 
 
 
 
62
63
64
65
66
67
68
69
70
71
 
82
83
84
 
85
86
87
 
 
 
88
89
90
91
92
93
 
97
98
99
 
100
101
102
103
 
113
114
115
116
117
118
119
120
121
 
126
127
128
 
129
130
 
131
132
 
 
 
 
 
133
134
135
@@ -1,8 +1,8 @@
-TortoiseHg Datamine -=================== +Datamine +========    .. module:: datamine.dialog - :synopsis: Dialog used to search in the history + :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, @@ -13,39 +13,38 @@
 -----------    .. figure:: figures/search.png - :alt: Search dialog + :alt: Search dialog   - 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. + :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. - + :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 @@ -54,18 +53,19 @@
 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:`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  ------------- @@ -82,11 +82,12 @@
   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. +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 tier. Authors are -determined by hue, and age is determined by saturation. The older a -change is, the lighter the color becomes. +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: @@ -96,7 +97,7 @@
 ^^^^^^^^^^^^^^^^^    The annotation data will automatically follow lines of code back through -copies and renames to find the initial changeset that introduced that +copies and renames to find the initial changeset that introduced the  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 @@ -112,6 +113,9 @@
   :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   @@ -122,14 +126,10 @@
    hgtk datamine   -or :: + aliases: annotate, blame   - hgtk annotate + repository search and annotate tool   -or :: - - hgtk blame - -The syntax is simple, no options or parameters are needed, except the global options. + use "hgtk -v help datamine" to show global options    .. vim: noet ts=4
 
1
2
 
 
3
4
5
6
7
8
 
 
9
10
11
 
43
44
45
46
47
 
 
48
49
50
 
 
 
1
2
3
4
5
6
 
 
7
8
9
10
11
 
43
44
45
 
 
46
47
48
49
50
@@ -1,11 +1,11 @@
-TortoiseHg Debugging -==================== +Debugging +=========    .. module:: debugging   :synopsis: Debug problems in shell extension or dialogs   -Debugging Dialogs ------------------ +Dialogs +-------    Stderr is being captured to a buffer that is being inspected at program  exit. If any serious errors (tracebacks, etc) are found in the stderr @@ -43,8 +43,8 @@
      -Debugging Shell Extension -------------------------- +Shell Extension +---------------    The debugging mechanisms depend on your platform.  
 
11
12
13
14
15
 
 
16
17
18
19
20
21
 
22
23
24
25
26
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
29
30
 
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
 
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
 
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
@@ -11,20 +11,32 @@
 icons in the MS-Explorer windows. This is similar to those that found on  other Tortoise client, such as TortoiseCVS and TortoiseSVN.   -Beginning from TortoiseHg version 0.5, the overlay icons are shared with -TortoiseSVN (version 1.5.x or later) via the support of TortoiseOverlays +TortoiseHg shares the overlay icons with TortoiseSVN (version 1.5.x or +later) and the other "Tortoise" projects via the use of TortoiseOverlays  (another project created by TortoiseSVN team).    .. figure:: figures/overlayicons.png   :alt: Overlay icons   - Overlay icons in Icons view (this image shows release 0.7 overlays) + Overlay icons in Icons view (XP)   -In release 0.8, we added an :guilabel:`Update Icons` context menu option -which forces TortoiseHg to refresh the icons in the currently browsed -repository or directory of repositories. The taskbar icon will turn -green and the directory icons will turn into question marks while this -refresh is in progress. +The context menu has an :guilabel:`Update Icons` option which forces +TortoiseHg to refresh the icons in the currently browsed repository or +directory of repositories. The taskbar icon will turn green and the +directory icons will turn into question marks while this refresh is in +progress. + +The new C++ shell extension is an order of magnitude faster than the +Python extension used in previous releases, but we still make the +overlays configurable via the taskbar menu. Simply click on the +Mercurial (droplet) icon in the system tray and select +:guilabel:`Options`. In the options dialog you can disable overlays +globally, or enable them for local disks only. + +.. figure:: figures/taskbarui.jpg + :alt: Taskbar options dialog + + Taskbar Options Dialog    Release 0.8.1 introduced the ability to selectively disable overlay  icons in specific repositories. This can be done be editing the @@ -33,47 +45,60 @@
    @@noicons   -Performance Issues ------------------- - -When the repository being viewed contains a large number of folders or -files, the overlay icons may appear case a perceivable delay in -displaying/refreshing the windows explorer. In most cases, the delay is -more prominent when the first time the repositories are viewed. -Subsequently the caching of the file system usually helps to reduce the -delay rather significantly. - -The delay may also be felt on repositories located on network drives or -other slower media. - -In 0.8, the new C++ shell extension is an order of magnitude faster than -the Python extension used in previous releases, but we still make the -overlays configurable via the taskbar menu. Simply click on the -Mercurial (droplet) icon in the system tray and select :guilabel:`Options`. -In the options dialog you can disable overlays globally, or enable them for -local disks only. -  Context Menus  -------------    The TortoiseHg commands (GUI window & dialogs) may be accessed via the  context menu of Explorer windows. The TortoiseHg context menu is -context sensitive, which varies according to the folder being viewed. +context sensitive and which varies according to the current folder and +file selection. Here is the context menu for a revisioned folder:   -.. figure:: figures/contextmenu.png +.. figure:: figures/cmenu-nofiles.jpg   :alt: Context menu   - Context menu for a folder under Mercurial revision control (version 0.7) + Context menu for a folder under Mercurial revision control   -Currently TortoiseHg provides only the most regularly used Mercurial -commands, hence the less frequently used, or newly add, Mercurial -commands may still need be accessed on the CLI (command line interface) -through the :file:`cmd.exe` windows. +And here is the context menu for selected files or folders:   -In 0.8, the new C++ shell extension makes the context menu somewhat -configurable via the taskbar menu. Simply click on the Mercurial -(droplet) icon in the system tray and select :guilabel:`Options`. -In the options dialog you can promote individual menu options to -the top menu. +.. figure:: figures/cmenu-files.jpg + :alt: Context menu + + Context menu for file or folder selection + +TortoiseHg provides dialogs for the most regularly used Mercurial +commands. Less frequently used, and newly added, Mercurial commands +must need be accessed on the CLI (command line interface) through the +:file:`cmd.exe` windows. + +The context menus are configurable via the taskbar menu. Simply click on +the Mercurial (droplet) icon in the system tray and select +:guilabel:`Options`. In the options dialog you can promote individual +menu options to the top menu. + +This is the file rename/move dialog: + +.. figure:: figures/rename.jpg + :alt: Rename file dialog + + +Nautilus +-------- + +TortoiseHg also provides shell integration with the GNOME desktop via a +nautilus-python plugin. If you have installed TortoiseHg from a +distribution package, the odds are that this extension is already +configured. If not, please consult our Wiki for instructions on how to +enable this feature. + +While the nautilus extension does not have it's own GUI for managing the +overlays and context menus, it does support command promotion into the +top menu. It requires you to edit your :file:`~/.hgrc` file and add +lines like these:: + + [tortoisehg] + promoteditems = commit, log, synch + +.. figure:: figures/nautilus.png + :alt: Nautilus screenshot    .. vim: noet ts=4
 
1
2
3
 
 
 
4
5
6
 
 
 
 
1
2
3
4
5
6
@@ -1,6 +1,6 @@
-************** -TortoiseHg FAQ -************** +************************** +Frequently Asked Questions +**************************      *What is TortoiseHg?*
doc/​source/​figures/​annotate.png
size changed from 694x559 to 617x500
Removed image
Added image
Added image
Added image
Removed image
Added image
Added image
Added image
Added image
Added image
doc/​source/​figures/​recover.png
size changed from 600x422 to 458x250
mode changed from RGBA to RGB
Removed image
Added image
Added image
doc/​source/​figures/​search.png
size changed from 746x599 to 617x522
mode changed from RGBA to RGB
Removed image
Added image
Added image
Added image
Change 1 of 1 Show Entire File doc/​source/​guess.txt Stacked
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
@@ -0,0 +1,57 @@
+Rename Guessing +=============== + +.. module:: guess.dialog + :synopsis: Dialog used to detect copies and/or renames + +.. figure:: figures/guess.jpg + :alt: Rename guessing dialog + +This dialog is used to find renames, moves, and/or copies that were done +without Mercurial's knowledge. The dialog can be launched from the +shell context menu, or from the status or commit tools via the context +menu of an unknown file. + +Follow these steps: + +1) select one or more of the :guilabel:`Unrevisioned Files` +2) slide the simularity bar to the percentage match you desire +3) press either :guilabel:`Find Renames` or :guilabel:`Find Copies`. +4) select candidate matches and accept good matches +5) repeat until all unrevisioned files are matched + +Find Renames +------------ + +This feature will search the repository for missing files (files which +were revisioned but are now gone). For each missing file, it compares +the last revisioned data against the unrevisioned file and if the +percentage of matching lines is above the +:guilabel:`Minimum Simularity Percentage`, it adds the pair to the +:guilabel:`Candidate Matches`. + +Find Copies +----------- + +This feature will check every revisioned file in the repository to see +if it exactly matches the unrevisioned file. + +Candidate Matches +----------------- + +When you select a match in this list, the differences between the two +files are shown in the bottom pane. Pressing :guilabel:`Accept Match` +will record the rename or copy event with Mercurial. + +From command line +----------------- + +The guess tool can be started from command line:: + + hgtk guess + + guess previous renames or copies + + use "hgtk -v help guess" to show global options + +.. vim: noet ts=4
Change 1 of 1 Show Entire File doc/​source/​ignore.txt Stacked
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
@@ -0,0 +1,29 @@
+Ignore Filter +============= + +.. module:: ignore.dialog + :synopsis: Dialog used to maintain the ignore filter + +The ignore dialog is used to maintain your Mercurial repository's ignore +filter, which can be found in an :file:`.hgignore` file in the +repository root. The dialog can be launched from the shell context +menu, or from the status or commit tools via the context menu of an +unknown file. + +.. figure:: figures/ignore.jpg + :alt: Ignore filter dialog + +From command line +----------------- + +The ignore tool can be started from command line:: + + hgtk hgignore [FILE] + + aliases: ignore, filter + + ignore filter editor + + use "hgtk -v help hgignore" to show global options + +.. vim: noet ts=4
 
1
2
3
 
 
 
4
5
6
 
42
43
44
45
46
47
48
49
 
 
 
 
 
 
50
51
52
53
 
54
55
56
 
61
62
63
64
 
 
65
66
67
68
69
70
71
 
 
 
 
 
72
73
74
 
88
89
90
91
 
92
93
94
 
 
 
 
1
2
3
4
5
6
 
42
43
44
 
 
 
 
 
45
46
47
48
49
50
51
52
53
 
54
55
56
57
 
62
63
64
 
65
66
67
68
 
 
 
 
 
69
70
71
72
73
74
75
76
 
90
91
92
 
93
94
95
96
@@ -1,6 +1,6 @@
-*********************** -TortoiseHg Introduction -*********************** +************ +Introduction +************    .. module:: introduction   :synopsis: Introduce TortoiseHg and its various parts @@ -42,15 +42,16 @@
 After installation a reboot is necessary.    .. note:: - If you have an older (less than 0.8) version already installed, the - installer will ask that you to remove the previous version of - TortoiseHg, which must be removed from control panel. Removing - TortoiseOverlays is also recommended, if no other apps are using - them, but not strictly required. + If you have an older (<0.8) version already installed, the installer + will ask that you to remove the previous version of TortoiseHg. The + uninstall can be done from the control panel or the start menu. If + no other applications are using TortoiseOverlays, it is recommended, + but not strictly required, to uninstall them when you upgrade an + earlier release.     If you have 0.8 or later already installed, you must close all   instances of the ThgTaskBar application before installation can - procede. + proceed.      Language settings @@ -61,14 +62,15 @@
 are shipped with the installer. Look in  :file:`C:\\Program Files\\TortoiseHg\\locale` for the available  languages. To enable a language just set the environment variable -``LANG`` to the desidered language, e.g. for italian ``SET LANG=it``. +``LANGUAGE`` to the desidered language, e.g. for italian +``set LANGUAGE=it``.    .. note:: - After setting LANG, if the standard GUI elements like :guilabel:`OK`, - :guilabel:`Apply` etc. still appear in English, it means that the - TortoiseHg installer did not include the translation component of GTK+ - for your locale. This was probably due to an incomplete translation - of TortoiseHg at the moment of release it. + After setting LANGUAGE, if the standard GUI elements like + :guilabel:`OK` and :guilabel:`Apply` still appear in English, it + means the TortoiseHg installer did not include a translation of GTK+ + for your locale. This means the translation of TortoiseHg for your + locale was incomplete at release time.    The Windows shell extension context menus get their translations from  the Windows registry. Translations for many locales are available from @@ -88,7 +90,7 @@
 `that <https://launchpad.net/~tortoisehg-ppa>`_ location.    For MacOSX, no packages are available but you can run hgtk and all the -dialogs via the source install method. +dialogs via the source install method. For details, see  `MacOSX <http://bitbucket.org/tortoisehg/stable/wiki/MacOSX>`_.    Language settings
 
10
11
12
13
14
 
 
15
16
17
 
24
25
26
27
 
28
29
30
 
31
32
 
 
 
 
 
33
34
35
 
46
47
48
 
49
50
51
 
10
11
12
 
 
13
14
15
16
17
 
24
25
26
 
27
28
29
 
30
31
 
32
33
34
35
36
37
38
39
 
50
51
52
53
54
55
56
@@ -10,8 +10,8 @@
   This book is written for computer literate folk who want to use  Mercurial to manage their data, but are uncomfortable using the command -line client to do so. Since TortoiseHg is a windows shell extension it's -assumed that the user is familiar with the windows explorer and knows +line client to do so. Since TortoiseHg is a Windows shell extension it's +assumed that the user is familiar with the Windows explorer and knows  how to use it.    You can find the most up to date version of this documentation at our @@ -24,12 +24,16 @@
 community of people who work on it, and the licensing conditions for  using it and distributing it.   -The :doc:`intro`, explains what TortoiseHg is, what it does, where it +The :doc:`intro` explains what TortoiseHg is, what it does, where it  comes from and the basics for installing it on your PC.   -The :doc:`quick`, is a quick tutorial on how to start with TortoiseHg. +:doc:`quick` is a quick tutorial on how to start with TortoiseHg.   -The remaining chapters describe the tools that are part of TortoiseHg. +:doc:`faq` has a list of common questions and their answers. + +:doc:`debugging` describes how to debug any problems that you find. + +The remaining chapters describe the components that make up TortoiseHg.    TortoiseHg is free!  =================== @@ -46,6 +50,7 @@
   * `Users <https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss>`_  * `Developers <https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop>`_ +* `Issues <https://lists.sourceforge.net/lists/listinfo/tortoisehg-issues>`_    And our `wiki <http://bitbucket.org/tortoisehg/stable/wiki/Home>`_ on BitBucket.  
 
5
6
7
8
 
9
10
 
 
 
 
11
12
13
 
26
27
28
29
 
30
31
32
 
5
6
7
 
8
9
 
10
11
12
13
14
15
16
 
29
30
31
 
32
33
34
35
@@ -5,9 +5,12 @@
 .. module:: tour   :synopsis: A Gentle Introduction to Using TortoiseHg on Windows   -One of the great things about Mercurial is that there are lots of different +Mercurial supports many different  `collaboration models <http://hgbook.red-bean.com/read/collaborating-with-other-people.html>`_. -The following describes just one of those models: a single central repository. +This chapter describes just one of those models: a single central repository. +The central repository model does not scale as well as other models, but +it is the most familiar to those coming from other revision tools and +thus is the most common approach people start with.    To get started, suppose you volunteer to create the central repository.  There are ways to `convert <http://mercurial.selenic.com/wiki/RepositoryConversion>`_ @@ -26,7 +29,7 @@
 Right click in your source folder and select  :menuselection:`TortoiseHg --> Global Settings`   -.. figure:: figures/contextmenu.png +.. figure:: figures/cmenu-nofiles.jpg   :alt: Context Menu    You must then select the :guilabel:`Commit` tab and enter a name in the
 
1
2
 
 
 
3
4
5
 
7
8
9
10
 
11
12
13
 
 
 
1
2
3
4
5
6
 
8
9
10
 
11
12
13
14
@@ -1,5 +1,6 @@
-TortoiseHg Recovery -=================== +******** +Recovery +********    .. module:: recovery.dialog   :synopsis: Dialog used to perform recovery operations @@ -7,7 +8,7 @@
 .. figure:: figures/recover.png   :alt: Recovery dialog   -The buttons all equate to a single Mercurial command (save stop, obviously) +The toolbar buttons equate to a Mercurial command    :guilabel:`clean`   :command:`hg update --clean` - performs a clean checkout of the
 
1
2
 
 
3
4
5
 
12
13
14
15
16
 
17
18
19
 
 
 
 
 
 
 
 
20
21
22
 
 
 
 
23
24
25
26
27
28
29
30
 
 
31
32
33
 
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
 
 
 
1
2
3
4
5
 
12
13
14
 
 
15
16
 
 
17
18
19
20
21
22
23
24
25
 
 
26
27
28
29
30
 
 
 
 
 
 
 
31
32
33
34
35
 
43
44
45
 
 
 
46
47
48
49
50
51
52
53
 
54
55
56
57
 
58
59
 
60
61
 
 
 
 
 
 
 
 
 
 
 
62
63
64
@@ -1,5 +1,5 @@
-TortoiseHg Serve -================ +Serve +=====    .. module:: serve.dialog   :synopsis: Dialog used to start/stop the web server @@ -12,22 +12,24 @@
 repository(ies) or perform clone, pull, or even push operations (if you  configure your server to allow it).   -:guilabel:`Start` - start the web server +Toolbar buttons:   -:guilabel:`Stop` - stop the web server + :guilabel:`Start` + start the web server + :guilabel:`Stop` + stop the web server + :guilabel:`Browse` + open your default browser at the built-in web server + :guilabel:`Configure` + Configure repository web style, description, and access policies   -:guilabel:`Browse` - open your default browser at the built-in web server +When the settings dialog is launched via the :guilabel:`Configure` +button, it is run in the context of the current repository. Please +visit the Mercurial wiki for detailed descriptions of the various +web configurations.   -:guilabel:`Configure` - Configure repository web style, description, and access policies - -When the settings dialog is launched via the :guilabel:`Configure` button, it is -run in the context of the current repository. Please visit the -Mercurial wiki for detailed descriptions of what the various web -configurations are for. +Multiple Repositories +---------------------    If you wish to serve a many repositories with a single web server  instance, you can create an :file:`hgwebdir.conf` text file with the @@ -41,32 +43,22 @@
 can be found on your computer. Multiple entries are possible.    To use this file you must launch the TortoiseHg serve dialog from the -command line via: :command:`hgtk serve --webdir-conf=hgwebdir.conf`. In a -future release of TortoiseHg, we hope to make this launchable from the -shell context menu. +command line via: :command:`hgtk serve --webdir-conf=hgwebdir.conf`. +    From command line  -----------------    The server tool can be started from command line ::   - hgtk serve + hgtk serve [OPTION]...   + web server   -The syntax is :: + options:   - hgtk serve [OPTIONS] + --webdir-conf name of the webdir config file   -The valid [OPTIONS] are: - -``--webdir-conf`` - It specifies the name of the webdir config file. See above for details. - - -Changes since 0.7 ------------------ - -* Improved error handling -* i18n fixes + use "hgtk -v help serve" to show global options    .. vim: noet ts=4
 
1
2
3
 
 
 
4
5
6
 
360
361
362
363
364
 
 
365
366
367
 
375
376
377
378
 
 
379
380
 
 
 
 
1
2
3
4
5
6
 
360
361
362
 
 
363
364
365
366
367
 
375
376
377
 
378
379
380
381
@@ -1,6 +1,6 @@
-******************* -TortoiseHg Settings -******************* +******** +Settings +********    .. module:: settings.dialog   :synopsis: Dialog used to set preferences @@ -360,8 +360,8 @@
 :guilabel:`Ignore Blank Lines:`   Ignore changes whose lines are all blank.   Default: False. - - + +  From command line  =================   @@ -375,6 +375,7 @@
   for the user configuration (:file:`Mercurial.ini` file).   -The syntax is simple, no options or parameters are needed, except the global options. +The syntax is simple, no options or parameters are needed, except the global +options.    .. vim: noet ts=4
 
1
2
 
 
3
4
5
 
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
 
61
62
63
 
 
 
 
64
65
66
 
 
 
 
67
68
69
 
85
86
87
88
89
90
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
93
94
95
96
97
98
99
100
 
 
101
102
103
 
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
137
 
 
 
1
2
3
4
5
 
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
 
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
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
 
137
138
139
 
 
 
 
140
141
142
143
144
145
146
147
148
149
150
151
152
 
153
154
155
156
 
157
158
 
159
160
 
 
161
162
163
@@ -1,5 +1,5 @@
-TortoiseHg Shelve Tool -====================== +Shelve +======    .. module:: shelve.dialog   :synopsis: Dialog used to perform shelve/unshelve operations @@ -10,49 +10,58 @@
  proper configuration. See   `issue #82 <http://bitbucket.org/tortoisehg/stable/issue/82/>`_.   +The purpose of this dialog is to allow the user to *shelve* selected changes +from the working directory, store them in a special patch file within the +repository, and then *unshelve* them back at a later time. +  .. figure:: figures/shelve.png   :alt: Shelve dialog     Shelve dialog   -Visually it is very similar to the status dialog in 0.6 and the commit -tool in 0.7. The purpose of this dialog is to allow the user to -*shelve* selected changes from the working directory, store them in a -special patch file in the repository, and then *unshelve* them back at a -later time. +Walking across the toolbar buttons:   -Walking across the toolbar, the buttons perform the following tasks: + :guilabel:`Refresh` + Reload the state of the working directory. It tries to retain + check and selection state across refresh. + :guilabel:`Shelve` + Shelve selected diffs in checked files. + :guilabel:`Unshelve` + Replace the shelved changes back into the working directory. + :guilabel:`Revert` + Revert checked files to last revisioned state. If merging, it + allows you to select the revert parent. + :guilabel:`Add` + Add checked files that were in unknown '?' or ignored 'I' state. + :guilabel:`Move` + Move checked files to specified target directory in versioned + manner. + :guilabel:`Remove` + Delete checked unversioned files and/or remove (mark as deleted) any + versioned files.   -:guilabel:`Refresh` - Reload the state of the working directory. It retains file check and - selection state across refresh, but not hunks. -:guilabel:`Shelve` - Shelve selected diffs in checked files. -:guilabel:`Unshelve` - Replace the shelved changes back into the working directory. -:guilabel:`Revert` - Revert checked files to last revisioned state. -:guilabel:`Add` - Add checked files that were in unknown *?* state. - These files will then be versioned as soon as they are committed. -:guilabel:`Move` - Move checked files to specified target directory. - This move is done with Mercurial's full knowledge. -:guilabel:`Remove` - Delete checked unversioned files and/or remove (mark as deleted) any - versioned files. -:guilabel:`Show Diff` - This is a toggle button that shows and hides the entire diff panel. - Hiding the diff panel can sometimes be useful in large repositories. +The file list has four columns:   -Below the file list are checkboxes that toggle the inclusion of the + 1) A checkbox that indicates whether the file is selected for an + operation. The toolbar buttons only operate on checked files. + "Partially" selected files have a special check state. This + column header is checkable, it will toggle the file selection + states. + 2) The :guilabel:`st` column holds the status of the file, defined + by Mercurial's status command, one of 'MARD?IC'. + 3) The :guilabel:`ms` column holds the merge state of the file, + defined by Mercurial's resolve command, one of ' RU'. + 4) The canonical path of the file (relative to the repository root) + +Below the file list are checkboxes that toggle the display of the  various classes of files {modified, added, removed, deleted, unknown, -clean, ignored}. +clean, ignored}. These check boxes will be disabled if the commit tool +was given a specific set of files and/or directories. +    Shelving Changes  ----------------   -  Just like the commit tool, this dialog uses TortoiseHg's integrated hunk  selection code to allow the user to select the files and change hunks to  move to the shelf. When you press the shelve button, the selected @@ -61,9 +70,17 @@
 to replace those changes or to merge these new changes into it. When  the shelf has changes, the unshelve button will be active.   + +Unshelving Changes +------------------ +  When the unshelve button is pressed, the shelved changes are reapplied  to the working directory.   +.. note:: + The unshelved changes will appear as working directory modifications + when the shelve tool refreshes it's view of the repository. +  How is this different from record/commit?  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   @@ -85,19 +102,30 @@
 How is this different from MQ?  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   -A shelf is, in effect, a single unnamed MQ patch that is never converted -into a changeset. The shelve tool can be useful when you are -maintaining a patch queue, since it can hold changes from one patch and -re-apply them to another patch (or an entirely new patch). +The shelf can be considered a single unnamed MQ patch that is never +converted into a changeset. + +The shelve tool can be useful when maintaining a patch queue. +The shelf can take changes from one patch and re-apply them to another +patch (or an entirely new patch). + +For example: + 1) Push to a patch you would like to split up + 2) Open the shelve tool, the top patch changes will be selectable + 3) Unselect change hunks you want to leave in the patch, then press + :guilabel:`Shelve` + 4) Refresh top patch using :command:`hg qrefresh`, or use commit tool + 5) Push or pop to the patch you want to apply shelved patches + 6) Open the shelve tool and press :guilabel:`Unshelve` + 7) Refresh top patch (repeat step 4)    How is this different from attic?  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    The attic extension is a super-set of the shelve feature. In particular,  attic allows you to have several named *shelves* which can be saved and -restored independently. TortoiseHg doesn't support the attic extension -in 0.7, but will probably support attic like features in future -releases. +restored independently. +    Keyboard navigation  ------------------- @@ -109,29 +137,27 @@
  changes in your working directory.    The code which copies the hunks to the clipboard is intelligent about -diff headers. If your highlighted list includes a hunk from a file but -not it's file diff header, the diff header will be added to the -clipboard in the appropriate location in the stream to make the -clipboard contents always be a valid patch. +diff headers. The clipboard contents will always be a valid patch. +    Configurables  -------------    * :menuselection:`TortoiseHg --> Bottom Diffs`  * :menuselection:`TortoiseHg --> Tab Width` +* :menuselection:`TortoiseHg --> Max Diff Size`    From command line  -----------------   -The shelve tool can be started from command line :: +The shelve tool can be started from command line::     hgtk shelve   -or :: + aliases: unshelve   - hgtk unshelve + shelve/unshelve tool   -The syntax is simple, no options or parameters are needed, except the global options. - + use "hgtk -v help shelve" to show global options    .. vim: noet ts=4
 
1
2
 
 
3
4
5
 
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
 
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
68
69
 
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 
 
 
 
 
 
 
 
 
 
 
 
95
96
97
 
100
101
102
103
104
105
106
 
 
 
 
107
108
109
 
129
130
131
132
133
 
 
134
135
136
 
142
143
144
145
 
146
147
 
148
149
 
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
 
 
 
1
2
3
4
5
 
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
 
48
49
50
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
81
82
83
 
 
 
 
 
 
 
 
 
 
 
 
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
 
101
102
103
 
 
 
 
104
105
106
107
108
109
110
 
130
131
132
 
 
133
134
135
136
137
 
143
144
145
 
146
147
 
148
149
 
150
151
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
153
154
@@ -1,5 +1,5 @@
-TortoiseHg Synchronize -====================== +Synchronize +===========    .. module:: synchronize.dialog   :synopsis: Dialog used to perform synchronization operations @@ -10,32 +10,33 @@
  Synchronize dialog    The synchronize tool is used to transmit changesets between repositories -or optionally to email recipients. +or to email recipients.   -:guilabel:`Incoming` - show changesets that would be pulled from target repository, the changes - in the target repository that are not in local repository -:guilabel:`Pull` - pull incoming changesets from target repository -:guilabel:`Outgoing` - show changesets that would be pushed to target repository, the changes - in the local repository that are not in target repository -:guilabel:`Push` - push outgoing changesets to target repository, make the local *tip* - the new *tip* in the target repository -:guilabel:`Email` - send outgoing changesets (to target repository) as email -:guilabel:`Stop` - stop current operation -:guilabel:`Configure` - configure repository paths (aliases) + :guilabel:`Incoming` + show changesets that would be pulled from target repository, the + changes in the target repository that are not in local repository + :guilabel:`Pull` + pull incoming changesets from target repository + :guilabel:`Outgoing` + show changesets that would be pushed to target repository, the + changes in the local repository that are not in target + repository + :guilabel:`Push` + push outgoing changesets to target repository, make the local + *tip* the new *tip* in the target repository + :guilabel:`Email` + send outgoing changesets (to target repository) as email + :guilabel:`Stop` + stop current operation + :guilabel:`Configure` + configure repository paths (aliases)    Below the toolbar are two buttons and a text entry:   -:guilabel:`Repo:` - browse for a local repository to synchronize with -:guilabel:`Bundle:` - browse for a local bundle file to pull from + :guilabel:`Repo:` + browse for a local repository to synchronize with + :guilabel:`Bundle:` + browse for a local bundle file to pull from    The text entry/combo box is where you enter or select paths of target  repositories. The synchronize tool will seed the drop-down list with @@ -47,23 +48,23 @@
 default behavior for your user account and override that selection on a  per-repository basis.   -:guilabel:`Nothing` - No operations are performed after a pull. You will be allowed to - view the pulled changesets in the log viewer, and you will have the - option to update to the new tip if applicable. -:guilabel:`Update` - Automatically update to the new branch tip if, and only if, new - revisions were pulled into the local repository. This could trigger - a merge if the pulled changes conflict with local uncommitted - changes. -:guilabel:`Fetch` - Equivalent to hg fetch. See the fetch extension documentation for - it's behavior. -:guilabel:`Rebase` - Equivalent to pull --rebase. See the rebase extension documentation - for it's behavior. Rebase operations disable connections to any - changelog tools, since it is very destructive to any app which is - holding a repository object. + :guilabel:`Nothing` + No operations are performed after a pull. You will be allowed to + view the pulled changesets in the log viewer, and you will have the + option to update to the new tip if applicable. + :guilabel:`Update` + Automatically update to the new branch tip if, and only if, new + revisions were pulled into the local repository. This could trigger + a merge if the pulled changes conflict with local uncommitted + changes. + :guilabel:`Fetch` + Equivalent to hg fetch. See the fetch extension documentation for + it's behavior. + :guilabel:`Rebase` + Equivalent to pull --rebase. See the rebase extension documentation + for it's behavior. Rebase operations disable connections to any + changelog tools, since it is very destructive to any app which is + holding a repository object.    The :guilabel:`use proxy` button is a quick way to disable your proxy  configuration for individual operations. The button is only sensitive @@ -80,18 +81,18 @@
 Under the :guilabel:`Advanced Options` fold-up panel are a number of  configurables that are valid for most push/pull operations.   -:guilabel:`Force pull or push` - override warnings about multiple heads or unrelated repositories -:guilabel:`Target Revision` - to avoid sending all revisions -:guilabel:`Remote Command` - provides -e argument -:guilabel:`Show patches` - show diffs in incoming and outging changes -:guilabel:`Show Newest First` - reverse order that changesets are listed -:guilabel:`Show No Merges` - filter out merge changesets from output (does not affect push/pull) + :guilabel:`Force pull or push` + override warnings about multiple heads or unrelated repositories + :guilabel:`Target Revision` + to avoid sending all revisions + :guilabel:`Remote Command` + provides -e argument + :guilabel:`Show patches` + show diffs in incoming and outging changes + :guilabel:`Show Newest First` + reverse order that changesets are listed + :guilabel:`Show No Merges` + filter out merge changesets from output (does not affect push/pull)      After Pull @@ -100,10 +101,10 @@
 After changesets are pulled into your repository, two buttons may appear  at the bottom of the dialog:   -:guilabel:`View pulled changesets` - Open the changelog viewer and inspect pulled changesets -:guilabel:`Update to tip` - Update your working directory to the new tip + :guilabel:`View pulled changesets` + Open the changelog viewer and inspect pulled changesets + :guilabel:`Update to tip` + Update your working directory to the new tip    Either button may be hidden if it is not applicable.   @@ -129,8 +130,8 @@
 where you can configure your SMTP settings and set default  :guilabel:`To:` and :guilabel:`From:` addresses.   -:guilabel:`In-Reply-To:` can be used to get your patches properly -threaded in mailing lists. +:guilabel:`In-Reply-To:` is used to make your patches properly threaded +in mailing lists.    Please consult the Mercurial documentation for the differences between  plain patches, HG patches, Git patches, and bundles. @@ -142,26 +143,12 @@
    hgtk synch   -or :: + aliases: pull, push, incoming, outgoing, email   - hgtk pull + repository synchronization tool   -or :: + use "hgtk -v help synch" to show global options   - hgtk push - -or :: - - hgtk incoming - -or :: - - hgtk outcoming - -or :: - - hgtk email -  The syntax is simple, no options or parameters are needed, except the  global options. If the synchronize tool is started via push, outgoing,  or email command aliases, it will automatically select the
Change 1 of 1 Show Entire File hggtk/​hgtk.py Stacked
 
420
421
422
423
 
424
425
426
 
420
421
422
 
423
424
425
426
@@ -420,7 +420,7 @@
  gtkrun(run(ui, *pats, **opts))    ### help management, adapted from mercurial.commands.help_() -def help_(ui, name=None, with_version=False): +def help_(ui, name=None, with_version=False, alias=None):   """show help for a command, extension, or list of commands     With no arguments, print a list of commands and short help.
Change 1 of 1 Show Entire File hggtk/​status.py Stacked
 
1055
1056
1057
1058
1059
1060
 
 
 
 
 
 
1061
1062
1063
 
1055
1056
1057
 
 
 
1058
1059
1060
1061
1062
1063
1064
1065
1066
@@ -1055,9 +1055,12 @@
  if not row[FM_CHECKED]:   continue   wfile = row[FM_PATH] - if wfile not in self.filechunks: - continue - chunks = self.filechunks[wfile] + if wfile in self.filechunks: + chunks = self.filechunks[wfile] + else: + chunks = self.read_file_chunks(wfile) + for c in chunks: + c.active = True   for i, chunk in enumerate(chunks):   if i == 0:   chunk.write(buf)