1 <?xml version="1.0" encoding="UTF-8"?>
\r
2 <!DOCTYPE sect1 SYSTEM "../../../dtd/dblite.dtd">
\r
3 <sect1 id="tsvn-dug-showlog">
\r
4 <title>Revision Log Dialog</title>
\r
6 <primary>log</primary>
\r
9 <primary>history</primary>
\r
12 <primary>commit messages</primary>
\r
15 <primary>log messages</primary>
\r
17 <?dbhh topicname="HIDD_LOGMESSAGE"?>
\r
19 For every change you make and commit, you should provide
\r
20 a log message for that change. That way you can later find out
\r
21 what changes you made and why, and you have a detailed log for
\r
22 your development process.
\r
25 The Revision Log Dialog retrieves all those log messages and shows them
\r
27 The display is divided into 3 panes.
\r
31 The top pane shows a list of revisions where changes to the
\r
32 file/folder have been committed. This summary includes the
\r
33 date and time, the person who committed the revision and the
\r
34 start of the log message.
\r
37 Lines shown in bold indicate that that is HEAD commit.
\r
42 The middle pane shows the full log message for the selected
\r
48 The bottom pane shows a list of all files and folders that
\r
49 were changed as part of the selected revision.
\r
53 But it does much more than that - it provides context menu
\r
54 commands which you can use to get even more information about the
\r
57 <sect2 id="tsvn-dug-showlog-1">
\r
58 <title>Invoking the Revision Log Dialog</title>
\r
60 <figure id="tsvn-dug-showlog-1-dia-1">
\r
61 <title>The Revision Log Dialog</title>
\r
62 <graphic fileref="../images/LogMessages.png"/>
\r
64 There are several places from where you can show the Log dialog:
\r
68 From the TortoiseGit context submenu
\r
74 <sect2 id="tsvn-dug-showlog-actions">
\r
75 <title>Revision Log Actions</title>
\r
77 The top pane has an <guilabel>Actions</guilabel> column containing
\r
78 icons that summarize what has been done in that revision.
\r
79 There are four different icons, each shown in its own column.
\r
82 <graphic fileref="../images/ActionModifiedIcon.png"/>
\r
83 If a revision modified a file or directory, the
\r
84 <emphasis>modified</emphasis> icon is shown in the first column.
\r
87 <graphic fileref="../images/ActionAddedIcon.png"/>
\r
88 If a revision added a file or directory, the
\r
89 <emphasis>added</emphasis> icon is shown in the second column.
\r
92 <graphic fileref="../images/ActionDeletedIcon.png"/>
\r
93 If a revision deleted a file or directory, the
\r
94 <emphasis>deleted</emphasis> icon is shown in the third column.
\r
97 <graphic fileref="../images/ActionReplacedIcon.png"/>
\r
98 If a revision replaced(rename) a file, the
\r
99 <emphasis>replaced</emphasis> icon is shown in the fourth column.
\r
102 <sect2 id="tsvn-dug-showlog-2">
\r
103 <title>Getting Additional Information</title>
\r
105 <figure id="tsvn-dug-showlog-2-dia-1">
\r
106 <title>The Revision Log Dialog Top Pane with Context Menu</title>
\r
107 <graphic fileref="../images/LogContextMenu.png"/>
\r
109 The top pane of the Log dialog has a context menu that allows you to
\r
110 access much more information. Some of these menu entries appear only
\r
111 when the log is shown for a file, and some only when the log is shown
\r
115 <term>Compare with working tree</term>
\r
118 Compare the selected revision with your working tree.
\r
119 The default Diff-Tool is TortoiseMerge which
\r
120 is supplied with TortoiseGit.
\r
121 If the log dialog is for a folder, this will show you a list
\r
122 of changed files, and allow you to review the changes made
\r
123 to each file individually.
\r
128 <term>Show changes as unified diff</term>
\r
131 View the changes made in the selected revision as a
\r
132 Unified-Diff file (GNU patch format). This shows
\r
133 only the differences with a few lines of context. It
\r
134 is harder to read than a visual file compare, but will
\r
135 show all file changes together in a compact format.
\r
140 <term>Compare with previous revision</term>
\r
143 Compare the selected revision with the previous revision.
\r
144 This works in a similar manner to comparing with your
\r
146 For folders this option will first show the changed files
\r
147 dialog allowing you to select files to compare.
\r
152 <term>Browse repository</term>
\r
155 Open the repository browser to examine the selected file or
\r
156 folder in the repository as it was at the selected revision.
\r
161 <term>Reset (current branch) to this</term>
\r
164 Reset current branch HEAD to selected commit.
\r
165 <!-- todo refer reset -->
\r
170 <term>Switch\Checkout to revision</term>
\r
173 Update your working tree to the selected revision.
\r
174 Useful if you want to have your working tree reflect
\r
175 a time in the past, or if there have been further commits to
\r
176 the repository and you want to update your working tree one
\r
183 <term>Create branch from revision</term>
\r
186 Create a branch from a selected revision.
\r
187 This is useful e.g.
\r
192 <term>Create tag from revision</term>
\r
195 Create a tag from a selected revision.
\r
196 This is useful e.g.
\r
201 <term>Rebase (current branch) to this</term>
\r
204 Rebase current branch to selected commit.
\r
205 <!-- todo refer rebase -->
\r
210 <term>Cherry Pick this commit</term>
\r
213 Cherry Pick this commit to current branch
\r
214 <!-- todo refer cherry pick -->
\r
219 <term>Export this version...</term>
\r
222 Export the selected file/folder at the selected
\r
223 revision. This brings up a dialog for you to confirm the
\r
224 URL and revision, and select a location for the export.
\r
229 <term>Copy to clipboard</term>
\r
232 Copy the log details of the selected revisions to the clipboard.
\r
233 This will copy the revision number, author, date, log message
\r
234 and the list of changed items for each revision.
\r
239 <term>Search log messages...</term>
\r
241 <figure id="tsvn-dug-showlog-1-dia-2">
\r
242 <title>The Search Log Messages Dialog</title>
\r
243 <graphic fileref="../images/LogSearch.png"/>
\r
246 Search log messages for the text you enter. This searches
\r
247 the log messages that you entered and also the action summaries
\r
248 created by Git (shown in the bottom pane). The search
\r
249 is not case sensitive.
\r
253 This allows you to easily search for refs (tags and branches).
\r
259 <term>Format Patch...</term>
\r
262 Create Patchs from this commit.
\r
269 <figure id="tsvn-dug-showlog-2-dia-1a">
\r
270 <title>Top Pane Context Menu for 2 Selected Revisions</title>
\r
271 <graphic fileref="../images/LogContextMenu1.png"/>
\r
273 If you select two revisions at once (using the usual
\r
274 <keycap>Ctrl</keycap>-modifier), the context menu changes and
\r
275 gives you fewer options:
\r
278 <term>Compare revisions</term>
\r
281 Compare the two selected revisions using a visual
\r
282 difference tool. The default Diff-Tool is TortoiseMerge
\r
283 which is supplied with TortoiseGit.
\r
288 <term>Show differences as unified diff</term>
\r
291 View the differences between the two selected revisions
\r
292 as a Unified-Diff file. This works for files and folders.
\r
297 <term>Combine to one commit</term>
\r
300 Combine continuous commits to one commit.
\r
305 <term>Cherry Pick this version</term>
\r
308 Cherry Pick Chosen Commits.
\r
313 <term>Fomat Patch...</term>
\r
316 Create patchs between chosen two commits.
\r
321 <term>Copy to clipboard</term>
\r
324 Copy log messages to clipboard as described above.
\r
329 <term>Search log messages...</term>
\r
332 Search log messages as described above.
\r
340 If you select two or more revisions (using the usual
\r
341 <keycap>Ctrl</keycap> or <keycap>Shift</keycap> modifiers),
\r
342 You can combine select commits to one commit. And cherry pick
\r
343 these commits to current branch.
\r
346 <figure id="tsvn-dug-showlog-2-dia-2">
\r
347 <title>The Log Dialog Bottom Pane with Context Menu</title>
\r
348 <graphic fileref="../images/LogContextMenu2.png"/>
\r
350 The bottom pane of the Log dialog also has a context menu that allows you to
\r
353 <term>Show as unified diff</term>
\r
356 Show file changes in unified diff format.
\r
357 This context menu is only available for
\r
358 files shown as <emphasis>modified</emphasis>.
\r
364 <term>Open / Open with...</term>
\r
367 Open the selected file, either with the default viewer for
\r
368 that file type, or with a program you choose.
\r
373 <term>Blame...</term>
\r
376 Opens the Blame dialog, allowing you to blame up to the
\r
383 <term>Revert changes to this revision</term>
\r
386 Revert chosen file to this revision.
\r
391 <term>Save revision to...</term>
\r
394 Save the selected revision to a file so you
\r
395 have an older version of that file.
\r
401 <term>Export selection to...</term>
\r
404 Saves the selected files to a target directory. Compared to "Save revision to..." this preserves the directory structure.
\r
410 <term>Show log</term>
\r
413 Show the revision log for the selected single file.
\r
419 <term>Compare with base</term>
\r
422 Compare chosen file with base version.
\r
428 <term>Compare with working tree</term>
\r
431 Compare chosen file with working tree.
\r
437 <term>View revision in Notepad2</term>
\r
440 Show chosen file with notepad2 with chosen commit.
\r
446 <term>Explore to</term>
\r
449 Open directory of file with Explore.
\r
455 <term>Copy paths to clipboard</term>
\r
458 Copy paths to clipboard
\r
464 <term>Copy all information to clipboard</term>
\r
467 Copy all information to clipboard, include version info.
\r
475 You may notice that sometimes we refer to changes and other times
\r
476 to differences. What's the difference?
\r
480 <sect2 id="tsvn-dug-showlog-filter">
\r
481 <title>Filtering Log Messages</title>
\r
483 <primary>filter</primary>
\r
486 If you want to restrict the log messages to show only those
\r
487 you are interested in rather than scrolling through a list
\r
488 of hundreds, you can use the filter controls at the top of
\r
489 the Log Dialog. The start and end date controls allow you
\r
490 to restrict the output to a known date range. The search
\r
491 box allows you to show only messages which contain a
\r
495 Click on the search icon to select which information you want
\r
496 to search in, and to choose <emphasis>regex</emphasis> mode.
\r
497 Normally you will only need a simple text search, but if you
\r
498 need to more flexible search terms, you can use regular expressions.
\r
499 If you hover the mouse over the box, a tooltip will give hints
\r
500 on how to use the regex functions.
\r
501 You can also find online documentation and a tutorial at
\r
502 <ulink url="http://www.regular-expressions.info/">
\r
503 <citetitle>http://www.regular-expressions.info/</citetitle>
\r
505 The filter works by checking whether your filter string matches
\r
506 the log entries, and then only those entries which <emphasis>match</emphasis>
\r
507 the filter string are shown.
\r
510 To make the filter show all log entries that do <emphasis>not</emphasis>
\r
511 match the filter string, start the string with an exclamation mark ('!').
\r
512 For example, a filter string <literal>!username</literal> will only
\r
513 show those entries which were not committed by <literal>username</literal>.
\r
516 Note that these filters act on the messages already retrieved.
\r
517 They do not control downloading of messages from the repository.
\r
520 You can also filter the path names in the bottom pane using the
\r
521 <guilabel>Hide unrelated changed paths</guilabel> checkbox.
\r
522 Related paths are those which contain the path used to display
\r
523 the log. If you fetch the log for a folder, that means anything
\r
524 in that folder or below it. For a file it means just that one file.
\r
525 The checkbox is tristate: you can show all paths, grey out the
\r
526 unrelated ones, or hide the unrelated paths completely.
\r
530 You can show all branches history by click <guilabel>All branches</guilabel>
\r
533 You can show whole project history, no choose directory or file by click
\r
534 <guilabel>Show Whole Project</guilabel>
\r
537 <guilabel>First Parent</guilabel> just follow up first parent commit. This will
\r
538 help understand overwhole history.
\r
541 <sect2 id="tsvn-dug-showlog-5">
\r
542 <?dbhh topicname="HIDD_STATGRAPH"?>
\r
543 <title>Statistical Information</title>
\r
545 <primary>statistics</primary>
\r
548 The <guibutton>Statistics</guibutton> button brings up a box
\r
549 showing some interesting information about the revisions
\r
550 shown in the Log dialog. This shows how many authors have
\r
551 been at work, how many commits they have made, progress
\r
552 by week, and much more. Now you can see at a glance who
\r
553 has been working hardest and who is slacking ;-)
\r
555 <sect3 id="tsvn-dug-showlog-stats-1">
\r
556 <title>Statistics Page</title>
\r
558 This page gives you all the numbers you can think of,
\r
559 in particular the period and number of revisions covered,
\r
560 and some min/max/average values.
\r
563 <sect3 id="tsvn-dug-showlog-stats-2">
\r
564 <title>Commits by Author Page</title>
\r
566 <figure id="tsvn-dug-showlog-stats-dia-2">
\r
567 <title>Commits-by-Author Histogram</title>
\r
568 <graphic fileref="../images/StatsByAuthor.png"/>
\r
570 This graph shows you which authors have been active on the
\r
571 project as a simple histogram, stacked histogram or
\r
573 <figure id="tsvn-dug-showlog-stats-dia-3">
\r
574 <title>Commits-by-Author Pie Chart</title>
\r
575 <graphic fileref="../images/StatsByAuthPie.png"/>
\r
579 Where there are a few major authors and many minor contributors,
\r
580 the number of tiny segments can make the graph more difficult to
\r
581 read. The slider at the bottom allows you to set a threshold
\r
582 (as a percentage of total commits) below which any activity is
\r
583 grouped into an <emphasis>Others</emphasis> category.
\r
586 <sect3 id="tsvn-dug-showlog-stats-3">
\r
587 <title>Commits by date Page</title>
\r
589 <figure id="tsvn-dug-showlog-stats-dia-4">
\r
590 <title>Commits-by-date Graph</title>
\r
591 <graphic fileref="../images/StatsByDate.png"/>
\r
593 This page gives you a graphical representation of project
\r
594 activity in terms of number of commits <emphasis>and</emphasis>
\r
595 author. This gives some idea of when a project is being worked
\r
596 on, and who was working at which time.
\r
599 When there are several authors, you will get many lines on the
\r
600 graph. There are two views available here: <emphasis>normal</emphasis>,
\r
601 where each author's activity is relative to the base line, and
\r
602 <emphasis>stacked</emphasis>, where each author's activity is
\r
603 relative to the line underneath.
\r
604 The latter option avoids the lines crossing over, which can make
\r
605 the graph easier to read, but less easy to see one author's output.
\r
609 By default the analysis is case-sensitive, so users
\r
610 <literal>PeterEgan</literal> and <literal>PeteRegan</literal>
\r
611 are treated as different authors. However, in many cases user names
\r
612 are not case-sensitive, and are sometimes entered inconsistently,
\r
613 so you may want <literal>DavidMorgan</literal> and
\r
614 <literal>davidmorgan</literal> to be treated as the same person.
\r
615 Use the <guilabel>Authors case insensitive</guilabel> checkbox
\r
616 to control how this is handled.
\r
619 Note that the statistics cover the same period as the
\r
620 Log dialog. If that is only displaying one revision
\r
621 then the statistics will not tell you very much.
\r
624 <sect2 id="tsvn-dug-showlog-refresh">
\r
625 <title>Refreshing the View</title>
\r
627 If you want to check the repository again for newer log messages,
\r
628 you can simply refresh the view using <keycap>F5</keycap>. If you
\r
629 are using the log cache (enabled by default), this will check the
\r
630 repository for newer messages and fetch only the new ones.
\r