OSDN Git Service

Update log dialog help document
[tortoisegit/TortoiseGitJp.git] / doc / source / en / TortoiseGit / tsvn_dug / dug_log.xml
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
5         <indexterm>\r
6                 <primary>log</primary>\r
7         </indexterm>\r
8         <indexterm>\r
9                 <primary>history</primary>\r
10         </indexterm>\r
11         <indexterm>\r
12                 <primary>commit messages</primary>\r
13         </indexterm>\r
14         <indexterm>\r
15                 <primary>log messages</primary>\r
16         </indexterm>\r
17         <?dbhh topicname="HIDD_LOGMESSAGE"?>\r
18         <para>\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
23         </para>\r
24         <para>\r
25                 The Revision Log Dialog retrieves all those log messages and shows them\r
26                 to you.\r
27                 The display is divided into 3 panes.\r
28                 <itemizedlist>\r
29                         <listitem>\r
30                                 <para>\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
35                                 </para>\r
36                                 <para>\r
37                                         Lines shown in bold indicate that that is HEAD commit.\r
38                                 </para>\r
39                         </listitem>\r
40                         <listitem>\r
41                                 <para>\r
42                                         The middle pane shows the full log message for the selected\r
43                                         revision.\r
44                                 </para>\r
45                         </listitem>\r
46                         <listitem>\r
47                                 <para>\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
50                                 </para>\r
51                         </listitem>\r
52                 </itemizedlist>\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
55                 project history.\r
56         </para>\r
57         <sect2 id="tsvn-dug-showlog-1">\r
58                 <title>Invoking the Revision Log Dialog</title>\r
59                 <para>\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
63                         </figure>\r
64                         There are several places from where you can show the Log dialog:\r
65                         <itemizedlist>\r
66                                 <listitem>\r
67                                         <para>\r
68                                                 From the TortoiseGit context submenu\r
69                                         </para>\r
70                                 </listitem>\r
71                                 <!--\r
72                                 <listitem>\r
73                                         <para>\r
74                                                 From the property page\r
75                                         </para>\r
76                                 </listitem>\r
77                                 -->\r
78                                 <!--\r
79                                 <listitem>\r
80                                         <para>\r
81                                                 From the Progress dialog after an update\r
82                                                 has finished. Then the Log dialog only shows those revisions\r
83                                                 which were changed since your last update\r
84                                         </para>\r
85                                 </listitem>\r
86                                 -->\r
87                         </itemizedlist>\r
88                 </para>\r
89         </sect2>\r
90         <sect2 id="tsvn-dug-showlog-actions">\r
91                 <title>Revision Log Actions</title>\r
92                 <para>\r
93                         The top pane has an <guilabel>Actions</guilabel> column containing\r
94                         icons that summarize what has been done in that revision.\r
95                         There are four different icons, each shown in its own column.\r
96                 </para>\r
97                 <para>\r
98                         <graphic fileref="../images/ActionModifiedIcon.png"/>\r
99                         If a revision modified a file or directory, the\r
100                         <emphasis>modified</emphasis> icon is shown in the first column.\r
101                 </para>\r
102                 <para>\r
103                         <graphic fileref="../images/ActionAddedIcon.png"/>\r
104                         If a revision added a file or directory, the\r
105                         <emphasis>added</emphasis> icon is shown in the second column.\r
106                 </para>\r
107                 <para>\r
108                         <graphic fileref="../images/ActionDeletedIcon.png"/>\r
109                         If a revision deleted a file or directory, the\r
110                         <emphasis>deleted</emphasis> icon is shown in the third column.\r
111                 </para>\r
112                 <para>\r
113                         <graphic fileref="../images/ActionReplacedIcon.png"/>\r
114                         If a revision replaced(rename) a file, the\r
115                         <emphasis>replaced</emphasis> icon is shown in the fourth column.\r
116                 </para>\r
117         </sect2>\r
118         <sect2 id="tsvn-dug-showlog-2">\r
119                 <title>Getting Additional Information</title>\r
120                 <para>\r
121                         <figure id="tsvn-dug-showlog-2-dia-1">\r
122                                 <title>The Revision Log Dialog Top Pane with Context Menu</title>\r
123                                 <graphic fileref="../images/LogContextMenu.png"/>\r
124                         </figure>\r
125                         The top pane of the Log dialog has a context menu that allows you to\r
126                         access much more information. Some of these menu entries appear only\r
127                         when the log is shown for a file, and some only when the log is shown\r
128                         for a folder.\r
129                         <variablelist>\r
130                                 <varlistentry>\r
131                                         <term>Compare with working copy</term>\r
132                                         <listitem>\r
133                                                 <para>\r
134                                                         Compare the selected revision with your working copy.\r
135                                                         The default Diff-Tool is TortoiseMerge which\r
136                                                         is supplied with TortoiseGit.\r
137                                                         If the log dialog is for a folder, this will show you a list\r
138                                                         of changed files, and allow you to review the changes made\r
139                                                         to each file individually.\r
140                                                 </para>\r
141                                         </listitem>\r
142                                 </varlistentry>\r
143                                 <!--\r
144                                 <varlistentry>\r
145                                         <term>Compare and blame with working BASE</term>\r
146                                         <listitem>\r
147                                                 <para>\r
148                                                         Blame the selected revision, and the file in your working BASE\r
149                                                         and compare the blame reports using a visual diff tool.\r
150                                                         Read <xref linkend="tsvn-dug-blame-diffs"/> for more detail.\r
151                                                         (files only).\r
152                                                 </para>\r
153                                         </listitem>\r
154                                 </varlistentry>\r
155                                 -->\r
156                                 <varlistentry>\r
157                                         <term>Show changes as unified diff</term>\r
158                                         <listitem>\r
159                                                 <para>\r
160                                                         View the changes made in the selected revision as a\r
161                                                         Unified-Diff file (GNU patch format). This shows\r
162                                                         only the differences with a few lines of context. It\r
163                                                         is harder to read than a visual file compare, but will\r
164                                                         show all file changes together in a compact format.\r
165                                                 </para>\r
166                                         </listitem>\r
167                                 </varlistentry>\r
168                                 <varlistentry>\r
169                                         <term>Compare with previous revision</term>\r
170                                         <listitem>\r
171                                                 <para>\r
172                                                         Compare the selected revision with the previous revision.\r
173                                                         This works in a similar manner to comparing with your\r
174                                                         working copy.\r
175                                                         For folders this option will first show the changed files\r
176                                                         dialog allowing you to select files to compare.\r
177                                                 </para>\r
178                                         </listitem>\r
179                                 </varlistentry>\r
180                                 <!--\r
181                                 <varlistentry>\r
182                                         <term>Compare and blame with previous revision</term>\r
183                                         <listitem>\r
184                                                 <para>\r
185                                                         Show the changed files dialog allowing you to select files.\r
186                                                         Blame the selected revision, and the previous revision,\r
187                                                         and compare the results using a visual diff tool.\r
188                                                         (folders only).\r
189                                                 </para>\r
190                                         </listitem>\r
191                                 </varlistentry>\r
192                                 -->\r
193                                 <!--\r
194                                 <varlistentry>\r
195                                         <term>Save revision to...</term>\r
196                                         <listitem>\r
197                                                 <para>\r
198                                                         Save the selected revision to a file so you have an older\r
199                                                         version of that file. (files only).\r
200                                                 </para>\r
201                                         </listitem>\r
202                                 </varlistentry>\r
203                                 \r
204                                 <varlistentry>\r
205                                         <term>Open / Open with...</term>\r
206                                         <listitem>\r
207                                                 <para>\r
208                                                         Open the selected file, either with the default viewer for\r
209                                                         that file type, or with a program you choose. (files only).\r
210                                                 </para>\r
211                                         </listitem>\r
212                                 </varlistentry>\r
213                                 <varlistentry>\r
214                                         <term>Blame...</term>\r
215                                         <listitem>\r
216                                                 <para>\r
217                                                         Blame the file up to the selected revision. (files only).\r
218                                                 </para>\r
219                                         </listitem>\r
220                                 </varlistentry>\r
221         -->\r
222                                 <!--\r
223                                 <varlistentry>\r
224                                         <term>Browse repository</term>\r
225                                         <listitem>\r
226                                                 <para>\r
227                                                         Open the repository browser to examine the selected file or\r
228                                                         folder in the repository as it was at the selected revision.\r
229                                                 </para>\r
230                                         </listitem>\r
231                                 </varlistentry>\r
232                                 -->\r
233         <varlistentry>\r
234                                         <term>Reset (current branch) to this</term>\r
235                                         <listitem>\r
236                                                 <para>\r
237                                                         Reset current branch HEAD to selected commit. \r
238                                                         <!-- todo refer reset -->\r
239                                                 </para>\r
240                                         </listitem>\r
241                                 </varlistentry>\r
242           \r
243        <varlistentry>\r
244                                         <term>Switch\Checkout to revision</term>\r
245                                         <listitem>\r
246                                                 <para>\r
247                                                         Update your working copy to the selected revision.\r
248                                                         Useful if you want to have your working copy reflect\r
249                                                         a time in the past, or if there have been further commits to\r
250                                                         the repository and you want to update your working copy one\r
251                                                         step at a time. \r
252                                                 </para>\r
253                                         </listitem>\r
254                                 </varlistentry>\r
255             \r
256                                 <varlistentry>\r
257                                         <term>Create branch from revision</term>\r
258                                         <listitem>\r
259                                                 <para>\r
260                                                         Create a branch from a selected revision.\r
261                                                         This is useful e.g. \r
262                                                 </para>\r
263                                         </listitem>\r
264                                 </varlistentry>\r
265                                 <varlistentry>\r
266                                         <term>Create tag from revision</term>\r
267                                         <listitem>\r
268                                                 <para>\r
269                                                         Create a tag from a selected revision.\r
270                                                         This is useful e.g. \r
271                                                 </para>\r
272                                         </listitem>\r
273                                 </varlistentry>\r
274                                 \r
275                                 \r
276                                 <varlistentry>\r
277                                         <term>Rebase (current branch) to this</term>\r
278                                         <listitem>\r
279                                                 <para>\r
280                                                         Rebase current branch to selected commit. \r
281                                                         <!-- todo refer rebase -->\r
282                                                 </para>\r
283                                         </listitem>\r
284                                 </varlistentry>\r
285                                 <varlistentry>\r
286                                         <term>Cherry Pick this commit</term>\r
287                                         <listitem>\r
288                                                 <para>\r
289                                                         Cherry Pick this commit to current branch\r
290                                                         <!-- todo refer cherry pick -->\r
291                                                 </para>\r
292                                         </listitem>\r
293                                 </varlistentry>\r
294                                 <!--\r
295                                 <varlistentry>\r
296                                         <term>Revert changes from this revision</term>\r
297                                         <listitem>\r
298                                                 <para>\r
299                                                         Revert changes from which were made in the selected\r
300                                                         revision. The changes are reverted in your working copy so\r
301                                                         this operation does <emphasis>not</emphasis> affect the\r
302                                                         repository at all! Note that this will undo the changes\r
303                                                         made in that revision only. It does not replace your\r
304                                                         working copy with the entire file at the earlier revision.\r
305                                                         This is very useful for undoing an earlier change when\r
306                                                         other unrelated changes have been made since. If you have\r
307                                                         made local changes, this command will merge these changes\r
308                                                         into your working copy.\r
309                                                 </para>\r
310                                         </listitem>\r
311                                 </varlistentry>\r
312                                 -->\r
313                                 <!--\r
314                                 <varlistentry>\r
315                                         <term>Revert to this revision</term>\r
316                                         <listitem>\r
317                                                 <para>\r
318                                                         Revert to an earlier revision. If you have made several\r
319                                                         changes, and then decide that you really want to go back to\r
320                                                         how things were in revision N, this is the command you need.\r
321                                                         Again, the changes are reverted in your working copy so\r
322                                                         this operation does <emphasis>not</emphasis> affect the\r
323                                                         repository until you commit the changes. Note that this\r
324                                                         will undo <emphasis>all</emphasis> changes made after the\r
325                                                         selected revision, replacing the file/folder with the\r
326                                                         earlier version. If you have made local changes, this\r
327                                                         command will merge these changes into your working copy.\r
328                                                 </para>\r
329                                         </listitem>\r
330                                 </varlistentry>\r
331                                 -->\r
332                                 <!--\r
333                                 <varlistentry>\r
334                                         <term>Merge revision to...</term>\r
335                                         <listitem>\r
336                                                 <para>\r
337                                                         Merge the selected revision(s) into a different working copy.\r
338                                                         A folder selection dialog allows you to choose the working\r
339                                                         copy to merge into, but after that there is no confirmation\r
340                                                         dialog, nor any opportunity to try a test merge. It is a good\r
341                                                         idea to merge into an unmodified working copy so that you can\r
342                                                         revert the changes if it doesn't work out!\r
343                                                         This is a useful feature if you want to merge selected\r
344                                                         revisions from one branch to another.\r
345                                                 </para>\r
346                                         </listitem>\r
347                                 </varlistentry>\r
348                                 -->\r
349                                 <!--\r
350                                 <varlistentry>\r
351                                         <term>Checkout...</term>\r
352                                         <listitem>\r
353                                                 <para>\r
354                                                         Make a fresh checkout of the selected folder at the selected\r
355                                                         revision. This brings up a dialog for you to confirm the\r
356                                                         URL and revision, and select a location for the checkout.\r
357                                                 </para>\r
358                                         </listitem>\r
359                                 </varlistentry>\r
360                                 -->\r
361                                 <varlistentry>\r
362                                         <term>Export this version...</term>\r
363                                         <listitem>\r
364                                                 <para>\r
365                                                         Export the selected file/folder at the selected\r
366                                                         revision. This brings up a dialog for you to confirm the\r
367                                                         URL and revision, and select a location for the export.\r
368                                                 </para>\r
369                                         </listitem>\r
370                                 </varlistentry>\r
371                                 <!--\r
372                                 <varlistentry>\r
373                                         <term>Edit author / log message</term>\r
374                                         <listitem>\r
375                                                 <para>\r
376                                                         Edit the log message or author attached to a previous commit.\r
377                                                         Read <xref linkend="tsvn-dug-showlog-4"/> to find out\r
378                                                         how this works.\r
379                                                 </para>\r
380                                         </listitem>\r
381                                 </varlistentry>\r
382                                 -->\r
383                                 <!--\r
384                                 <varlistentry>\r
385                                         <term>Show revision properties</term>\r
386                                         <listitem>\r
387                                                 <para>\r
388                                                         View and edit any revision property, not just log message\r
389                                                         and author. Refer to <xref linkend="tsvn-dug-showlog-4"/>.\r
390                                                 </para>\r
391                                         </listitem>\r
392                                 </varlistentry>\r
393                                 -->\r
394                                 <varlistentry>\r
395                                         <term>Copy to clipboard</term>\r
396                                         <listitem>\r
397                                                 <para>\r
398                                                         Copy the log details of the selected revisions to the clipboard.\r
399                                                         This will copy the revision number, author, date, log message\r
400                                                         and the list of changed items for each revision.\r
401                                                 </para>\r
402                                         </listitem>\r
403                                 </varlistentry>\r
404                                 <varlistentry>\r
405                                         <term>Search log messages...</term>\r
406                                         <listitem>\r
407                                                 <para>\r
408                                                         Search log messages for the text you enter. This searches\r
409                                                         the log messages that you entered and also the action summaries\r
410                                                         created by Git (shown in the bottom pane). The search\r
411                                                         is not case sensitive.\r
412                                                 </para>\r
413                                         </listitem>\r
414                                 </varlistentry>\r
415         <varlistentry>\r
416                                         <term>Format Patch...</term>\r
417                                         <listitem>\r
418                                                 <para>\r
419                                                         Create Patchs from this commit.\r
420                                                 </para>\r
421                                         </listitem>\r
422                                 </varlistentry>\r
423                         </variablelist>\r
424                 </para>\r
425                 <para>\r
426                         <figure id="tsvn-dug-showlog-2-dia-1a">\r
427                                 <title>Top Pane Context Menu for 2 Selected Revisions</title>\r
428                                 <graphic fileref="../images/LogContextMenu1.png"/>\r
429                         </figure>\r
430                         If you select two revisions at once (using the usual\r
431                         <keycap>Ctrl</keycap>-modifier), the context menu changes and\r
432                         gives you fewer options:\r
433                         <variablelist>\r
434                                 <varlistentry>\r
435                                         <term>Compare revisions</term>\r
436                                         <listitem>\r
437                                                 <para>\r
438                                                         Compare the two selected revisions using a visual\r
439                                                         difference tool. The default Diff-Tool is TortoiseMerge\r
440                                                         which is supplied with TortoiseGit.\r
441                                                 </para>\r
442                                                 <!--\r
443                                                 <para>\r
444                                                         If you select this option for a folder, a further dialog pops\r
445                                                         up listing the changed files and offering you further\r
446                                                         diff options. Read more about the Compare Revisions\r
447                                                         dialog in <xref linkend="tsvn-dug-compare-revs"/>.\r
448                                                 </para>\r
449                                                 -->\r
450                                         </listitem>\r
451                                 </varlistentry>\r
452                                 <!--\r
453                                 <varlistentry>\r
454                                         <term>Blame revisions</term>\r
455                                         <listitem>\r
456                                                 <para>\r
457                                                         Blame the two revisions and compare the blame reports using\r
458                                                         a visual difference tool.\r
459                                                         Read <xref linkend="tsvn-dug-blame-diffs"/> for more detail.\r
460                                                 </para>\r
461                                         </listitem>\r
462                                 </varlistentry>\r
463                                 -->\r
464                                 <varlistentry>\r
465                                         <term>Show differences as unified diff</term>\r
466                                         <listitem>\r
467                                                 <para>\r
468                                                         View the differences between the two selected revisions\r
469                                                         as a Unified-Diff file. This works for files and folders.\r
470                                                 </para>\r
471                                         </listitem>\r
472                                 </varlistentry>\r
473         <varlistentry>\r
474           <term>Combine to one commit</term>\r
475           <listitem>\r
476             <para>\r
477               Combine continuous commits to one commit.\r
478             </para>\r
479           </listitem>\r
480         </varlistentry>\r
481         <varlistentry>\r
482                                         <term>Cherry Pick this version</term>\r
483                                         <listitem>\r
484                                                 <para>\r
485                                                         Cherry Pick Chosen Commits. \r
486                                                 </para>\r
487                                         </listitem>\r
488                                 </varlistentry>\r
489         <varlistentry>\r
490                                         <term>Fomat Patch...</term>\r
491                                         <listitem>\r
492                                                 <para>\r
493                                                         Create patchs between chosen two commits.\r
494                                                 </para>\r
495                                         </listitem>\r
496                                 </varlistentry>\r
497                                 <varlistentry>\r
498                                         <term>Copy to clipboard</term>\r
499                                         <listitem>\r
500                                                 <para>\r
501                                                         Copy log messages to clipboard as described above.\r
502                                                 </para>\r
503                                         </listitem>\r
504                                 </varlistentry>\r
505                                 <varlistentry>\r
506                                         <term>Search log messages...</term>\r
507                                         <listitem>\r
508                                                 <para>\r
509                                                         Search log messages as described above.\r
510                                                 </para>\r
511                                         </listitem>\r
512                                 </varlistentry>\r
513                         </variablelist>\r
514                 </para>\r
515                 \r
516                 <para>\r
517                         If you select two or more revisions (using the usual\r
518                         <keycap>Ctrl</keycap> or <keycap>Shift</keycap> modifiers),\r
519                         You can combine select commits to one commit. And cherry pick \r
520                         these commits to current branch.\r
521                 </para>\r
522                 <!--\r
523                 <para>\r
524                         You can also choose to merge the selected revisions to another\r
525                         working copy, as described above.\r
526                 </para>\r
527                 <para>\r
528                         If all selected revisions have the same author, you can edit\r
529                         the author of all those revisions in one go.\r
530                 </para>\r
531                 -->\r
532                 <para>\r
533                         <figure id="tsvn-dug-showlog-2-dia-2">\r
534                                 <title>The Log Dialog Bottom Pane with Context Menu</title>\r
535                                 <graphic fileref="../images/LogContextMenu2.png"/>\r
536                         </figure>\r
537                         The bottom pane of the Log dialog also has a context menu that allows you to\r
538                         <variablelist>\r
539                                 <!--\r
540                                 <varlistentry>\r
541                                         <term>Show changes</term>\r
542                                         <listitem>\r
543                                                 <para>\r
544                                                         Show changes made in the selected revision for the\r
545                                                         selected file. This context menu is only available for\r
546                                                         files shown as <emphasis>modified</emphasis>.\r
547                                                 </para>\r
548                                         </listitem>\r
549                                 </varlistentry>\r
550                                 <varlistentry>\r
551                                         <term>Blame changes</term>\r
552                                         <listitem>\r
553                                                 <para>\r
554                                                         Blame the selected revision and the previous revision for the\r
555                                                         selected file, and compare the blame reports\r
556                                                         using a visual diff tool.\r
557                                                         Read <xref linkend="tsvn-dug-blame-diffs"/> for more detail.\r
558                                                 </para>\r
559                                         </listitem>\r
560                                 </varlistentry>\r
561                                 <varlistentry>\r
562                                         <term>Show as unified diff</term>\r
563                                         <listitem>\r
564                                                 <para>\r
565                                                         Show file changes in unified diff format.\r
566                                                         This context menu is only available for\r
567                                                         files shown as <emphasis>modified</emphasis>.\r
568                                                 </para>\r
569                                         </listitem>\r
570                                 </varlistentry>\r
571                                 -->\r
572                                 <varlistentry>\r
573                                         <term>Open / Open with...</term>\r
574                                         <listitem>\r
575                                                 <para>\r
576                                                         Open the selected file, either with the default viewer for\r
577                                                         that file type, or with a program you choose.\r
578                                                 </para>\r
579                                         </listitem>\r
580                                 </varlistentry>\r
581                                 <varlistentry>\r
582                                         <term>Blame...</term>\r
583                                         <listitem>\r
584                                                 <para>\r
585                                                         Opens the Blame dialog, allowing you to blame up to the\r
586                                                         selected revision.\r
587                                                 </para>\r
588                                         </listitem>\r
589                                 </varlistentry>\r
590                                 <!--\r
591                                 <varlistentry>\r
592                                         <term>Revert changes from this revision</term>\r
593                                         <listitem>\r
594                                                 <para>\r
595                                                         Revert the changes made to the selected file in that revision.\r
596                                                 </para>\r
597                                         </listitem>\r
598                                 </varlistentry>\r
599                                 <varlistentry>\r
600                                         <term>Show properties</term>\r
601                                         <listitem>\r
602                                                 <para>\r
603                                                         View the Git properties for the selected item.\r
604                                                 </para>\r
605                                         </listitem>\r
606                                 </varlistentry>\r
607                                 -->\r
608                                 <!--\r
609                                 <varlistentry>\r
610                                         <term>Show log</term>\r
611                                         <listitem>\r
612                                                 <para>\r
613                                                         Show the revision log for the selected single file.\r
614                                                 </para>\r
615                                         </listitem>\r
616                                 </varlistentry>\r
617                                 <varlistentry>\r
618                                         <term>Get merge logs</term>\r
619                                         <listitem>\r
620                                                 <para>\r
621                                                         Show the revision log for the selected single file,\r
622                                                         including merged changes. Find out more in\r
623                                                         <xref linkend="tsvn-dug-showlog-mergetrack"/>.\r
624                                                 </para>\r
625                                         </listitem>\r
626                                 </varlistentry>\r
627                                 <varlistentry>\r
628                                         <term>Save revision to...</term>\r
629                                         <listitem>\r
630                                                 <para>\r
631                                                         Save the selected revision to a file so you\r
632                                                         have an older version of that file.\r
633                                                 </para>\r
634                                         </listitem>\r
635                                 </varlistentry>\r
636                                 -->\r
637                         </variablelist>\r
638                 </para>\r
639                 <tip>\r
640                         <para>\r
641                                 You may notice that sometimes we refer to changes and other times\r
642                                 to differences. What's the difference?\r
643                         </para>\r
644                         <!--\r
645                         <para>\r
646                                 Git uses commit hash to mean 2 different things.\r
647                                 A revision generally represents the state of the repository at\r
648                                 a point in time, but it can also be used to represent the changeset\r
649                                 which created that revision, eg. <quote>Done in r1234</quote> means \r
650                                 that the changes committed in r1234 implement feature X.\r
651                                 To make it clearer which sense is being used, we use two\r
652                                 different terms.\r
653                         </para>\r
654                         <para>\r
655                                 If you select two revisions N and M, the context menu will offer\r
656                                 to show the <emphasis>difference</emphasis> between those two\r
657                                 revisions. In Git terms this is\r
658                                 <literal>diff -r M:N</literal>.\r
659                         </para>\r
660                         <para>\r
661                                 If you select a single revision N, the context menu will offer\r
662                                 to show the <emphasis>changes</emphasis> made in that revision.\r
663                                 In Git terms this is <literal>diff -r N-1:N</literal>\r
664                                 or <literal>diff -c N</literal>.\r
665                         </para>\r
666                         <para>\r
667                                 The bottom pane shows the files changed in all selected revisions,\r
668                                 so the context menu always offers to show <emphasis>changes</emphasis>.\r
669                         </para>\r
670                         -->\r
671                 </tip>\r
672         </sect2>\r
673         <!--\r
674         <sect2 id="tsvn-dug-showlog-3">\r
675                 <title>Getting more log messages</title>\r
676                 <para>\r
677                         The Log dialog does not always show all changes ever made for a\r
678                         number of reasons:\r
679                         <itemizedlist>\r
680                                 <listitem>\r
681                                         <para>\r
682                                                 For a large repository there may be hundreds or even\r
683                                                 thousands of changes and fetching them all could take\r
684                                                 a long time. Normally you are only interested in the\r
685                                                 more recent changes. By default, the number of log\r
686                                                 messages fetched is limited to 100, but you can change\r
687                                                 this value in \r
688                                                 <menuchoice>\r
689                                                         <guimenu>TortoiseGit</guimenu>\r
690                                                         <guimenuitem>Settings</guimenuitem>\r
691                                                 </menuchoice>\r
692                                                 (<xref linkend="tsvn-dug-settings-dialogs"/>),\r
693                                         </para>\r
694                                 </listitem>\r
695                                 <listitem>\r
696                                         <para>\r
697                                                 When the <guilabel>Stop on copy/rename</guilabel>\r
698                                                 box is checked, Show Log will stop at the point that\r
699                                                 the selected file or folder was copied from somewhere\r
700                                                 else within the repository. This can be useful when\r
701                                                 looking at branches (or tags) as it stops at the root\r
702                                                 of that branch, and gives a quick indication of changes\r
703                                                 made in that branch only.\r
704                                         </para>\r
705                                         <para>\r
706                                                 Normally you will want to leave this option unchecked.\r
707                                                 TortoiseGit remembers the state of the checkbox, so\r
708                                                 it will respect your preference.\r
709                                         </para>\r
710                                         <para>\r
711                                                 When the Show Log dialog is invoked from within the\r
712                                                 Merge dialog, the box is always checked by default.\r
713                                                 This is because merging is most often looking at\r
714                                                 changes on branches, and going back beyond the root\r
715                                                 of the branch does not make sense in that instance.\r
716                                         </para>\r
717                                         <para>\r
718                                                 Note that Git currently implements renaming\r
719                                                 as a copy/delete pair, so renaming a file or folder\r
720                                                 will also cause the log display to stop if this\r
721                                                 option is checked.\r
722                                         </para>\r
723                                 </listitem>\r
724                         </itemizedlist>\r
725                 </para>\r
726                 <para>\r
727                         If you want to see more log messages, click the\r
728                         <guibutton>Next 100</guibutton> to retrieve the next 100 log messages.\r
729                         You can repeat this as many times as needed.\r
730                 </para>\r
731                 <para>\r
732                         Next to this button there is a multi-function button which remembers\r
733                         the last option you used it for. Click on the arrow to see the other\r
734                         options offered.\r
735                 </para>\r
736                 <para>\r
737                         Use <guibutton>Show Range ...</guibutton> if you want to view a specific\r
738                         range of revisions. A dialog will then prompt you to enter the start\r
739                         and end revision.\r
740                 </para>\r
741                 <para>\r
742                         Use <guibutton>Show All</guibutton> if you want to see\r
743                         <emphasis>all</emphasis> log messages from HEAD right back to revision 1.\r
744                 </para>\r
745         </sect2>\r
746         -->\r
747         <!--\r
748         <sect2 id="tsvn-dug-showlog-current-rev">\r
749                 <title>Current Working Copy Revision</title>\r
750                 <para>\r
751                         Because the log dialog shows you the log from HEAD, not from the\r
752                         current working copy revision, it often happens that there are\r
753                         log messages shown for content which has not yet been updated\r
754                         in your working copy. To help make this clearer, the commit\r
755                         message which corresponds to the revision you have in your\r
756                         working copy is shown in bold.\r
757                 </para>\r
758                 <para>\r
759                         By default this only works for files. This is because the\r
760                         update revision for a folder may not correspond to the update\r
761                         revision of its content, and the only way to find the effective\r
762                         update revision for the folder is to crawl the working copy.\r
763                         This can be a slow operation for large working copies so if\r
764                         you want to enable this feature you must create a\r
765                         <literal>DWORD</literal> registry key with value 1 at\r
766                         <literal>HKCU\Software\TortoiseGit\RecursiveLogRev</literal>.\r
767                 </para>\r
768         </sect2>\r
769         -->\r
770         <!--\r
771         <sect2 id="tsvn-dug-showlog-mergetrack">\r
772                 <title>Merge Tracking Features</title>\r
773                 <indexterm>\r
774                         <primary>merge tracking log</primary>\r
775                 </indexterm>\r
776                 <para>\r
777                         Git 1.5 and later keeps a record of merges using properties.\r
778                         This allows us to get a more detailed history of merged changes.\r
779                         For example, if you develop a new feature on a branch and then merge\r
780                         that branch back to trunk, the feature development will show up on\r
781                         the trunk log as a single commit for the merge, even though there\r
782                         may have been 1000 commits during branch development.\r
783                 </para>\r
784                 <figure id="tsvn-dug-showlog-dia-mergetrack">\r
785                         <title>The Log Dialog Showing Merge Tracking Revisions</title>\r
786                         <graphic fileref="../images/LogMergeTrack.png"/>\r
787                 </figure>\r
788                 <para>\r
789                         If you want to see the detail of which revisions were merged as part\r
790                         of that commit, use the <guilabel>Include merged revisions</guilabel>\r
791                         checkbox. This will fetch the log messages again, but will also\r
792                         interleave the log messages from revisions which were merged.\r
793                         Merged revisions are shown in grey because they represent changes\r
794                         made on a different part of the tree.\r
795                 </para>\r
796                 <para>\r
797                         Of course, merging is never simple! During feature development on the\r
798                         branch there will probably be occasional merges back from trunk to\r
799                         keep the branch in sync with the main line code. So the merge history\r
800                         of the branch will also include another layer of merge history.\r
801                         These different layers are shown in the log dialog using indentation\r
802                         levels.\r
803                 </para>\r
804         </sect2>\r
805         -->\r
806         <!--\r
807         <sect2 id="tsvn-dug-showlog-4">\r
808                 <title>Changing the Log Message and Author</title>\r
809                 <indexterm>\r
810                         <primary>edit log/author</primary>\r
811                 </indexterm>\r
812                 <indexterm>\r
813                         <primary>revision properties</primary>\r
814                 </indexterm>\r
815                 <indexterm>\r
816                         <primary>revprops</primary>\r
817                 </indexterm>\r
818                 <para>\r
819                         Revision properties are completely different from the Git\r
820                         properties of each item. Revprops are descriptive items which are\r
821                         associated with one specific revision number in the repository,\r
822                         such as log message, commit date and committer name (author).\r
823                 </para>\r
824                 <para>\r
825                         Sometimes you might want to change a log message you once entered,\r
826                         maybe because there's a spelling error in it or you want to\r
827                         improve the message or change it for other reasons. Or you want to\r
828                         change the author of the commit because you forgot to set up\r
829                         authentication or...\r
830                 </para>\r
831                 <para>\r
832                         Git lets you change revision properties any time you want.\r
833                         But since such changes can't be\r
834                         undone (those changes are not versioned) this feature is disabled\r
835                         by default. To make this work, you must set up a pre-revprop-change\r
836                         hook. Please refer to the chapter on\r
837                         <ulink url="http://svnbook.red-bean.com/en/1.5/svn.reposadmin.create.html#svn.reposadmin.create.hooks">\r
838                                 <citetitle>Hook Scripts</citetitle>\r
839                         </ulink>\r
840                         in the Git Book for details about how to do that.\r
841                         Read <xref linkend="tsvn-repository-hooks"/> to find some further\r
842                         notes on implementing hooks on a Windows machine.\r
843                 </para>\r
844                 <para>\r
845                         Once you've set up your server with the required hooks, you can\r
846                         change the author and log message (or any other revprop) of any revision,\r
847                         using the context menu from the top pane of the Log dialog.\r
848                         You can also edit a log message using the context menu for the middle pane.\r
849                 </para>\r
850                 <warning>\r
851                         <para>\r
852                                 Because Git's revision properties are not versioned, making \r
853                                 modifications to such a property (for example, the\r
854                                 <literal>svn:log</literal> commit \r
855                                 message property) will overwrite the previous value of that \r
856                                 property <emphasis>forever</emphasis>.\r
857                         </para>\r
858                 </warning>\r
859         </sect2>\r
860         -->\r
861         <sect2 id="tsvn-dug-showlog-filter">\r
862                 <title>Filtering Log Messages</title>\r
863                 <indexterm>\r
864                         <primary>filter</primary>\r
865                 </indexterm>\r
866                 <para>\r
867                         If you want to restrict the log messages to show only those\r
868                         you are interested in rather than scrolling through a list\r
869                         of hundreds, you can use the filter controls at the top of\r
870                         the Log Dialog. The start and end date controls allow you\r
871                         to restrict the output to a known date range. The search\r
872                         box allows you to show only messages which contain a\r
873                         particular phrase.\r
874                 </para>\r
875                 <para>\r
876                         Click on the search icon to select which information you want\r
877                         to search in, and to choose <emphasis>regex</emphasis> mode.\r
878                         Normally you will only need a simple text search, but if you\r
879                         need to more flexible search terms, you can use regular expressions.\r
880                         If you hover the mouse over the box, a tooltip will give hints\r
881                         on how to use the regex functions.\r
882                         You can also find online documentation and a tutorial at\r
883                         <ulink url="http://www.regular-expressions.info/">\r
884                                 <citetitle>http://www.regular-expressions.info/</citetitle>\r
885                         </ulink>.\r
886                         The filter works by checking whether your filter string matches\r
887                         the log entries, and then only those entries which <emphasis>match</emphasis>\r
888                         the filter string are shown.\r
889                 </para>\r
890                 <para>\r
891                         To make the filter show all log entries that do <emphasis>not</emphasis>\r
892                         match the filter string, start the string with an exclamation mark ('!').\r
893                         For example, a filter string <literal>!username</literal> will only\r
894                         show those entries which were not committed by <literal>username</literal>.\r
895                 </para>\r
896                 <para>\r
897                         Note that these filters act on the messages already retrieved.\r
898                         They do not control downloading of messages from the repository.\r
899                 </para>\r
900                 <para>\r
901                         You can also filter the path names in the bottom pane using the\r
902                         <guilabel>Hide unrelated changed paths</guilabel> checkbox.\r
903                         Related paths are those which contain the path used to display\r
904                         the log. If you fetch the log for a folder, that means anything\r
905                         in that folder or below it. For a file it means just that one file.\r
906                         The checkbox is tristate: you can show all paths, grey out the\r
907                         unrelated ones, or hide the unrelated paths completely.\r
908                 </para>\r
909                 <para>\r
910                         Sometimes your working practices will require log messages to follow\r
911                         a particular format, which means that the text describing the changes\r
912                         is not visible in the abbreviated summary shown in the top pane.\r
913                         The property <literal>tsvn:logsummary</literal> can be used to\r
914                         extract a portion of the log message to be shown in the top pane.\r
915                         Read <xref linkend="tsvn-dug-propertypage-tsvn-props"/> to find\r
916                         out how to use this property.\r
917                 </para>\r
918                 <tip>\r
919                         <title>No Log Formatting from Repository Browser</title>\r
920                         <para>\r
921                                 Because the formatting depends upon accessing Git\r
922                                 properties, you will only see the results when using a checked\r
923                                 out working copy. Fetching properties remotely is a slow operation,\r
924                                 so you will not see this feature in action from the repo browser.\r
925                         </para>\r
926                 </tip>\r
927         </sect2>\r
928         <sect2 id="tsvn-dug-showlog-5">\r
929                 <?dbhh topicname="HIDD_STATGRAPH"?>\r
930                 <title>Statistical Information</title>\r
931                 <indexterm>\r
932                         <primary>statistics</primary>\r
933                 </indexterm>\r
934                 <para>\r
935                         The <guibutton>Statistics</guibutton> button brings up a box\r
936                         showing some interesting information about the revisions\r
937                         shown in the Log dialog. This shows how many authors have\r
938                         been at work, how many commits they have made, progress\r
939                         by week, and much more. Now you can see at a glance who\r
940                         has been working hardest and who is slacking ;-)\r
941                 </para>\r
942                 <sect3 id="tsvn-dug-showlog-stats-1">\r
943                         <title>Statistics Page</title>\r
944                         <para>\r
945                                 This page gives you all the numbers you can think of,\r
946                                 in particular the period and number of revisions covered,\r
947                                 and some min/max/average values.\r
948                         </para>\r
949                 </sect3>\r
950                 <sect3 id="tsvn-dug-showlog-stats-2">\r
951                         <title>Commits by Author Page</title>\r
952                         <para>\r
953                                 <figure id="tsvn-dug-showlog-stats-dia-2">\r
954                                         <title>Commits-by-Author Histogram</title>\r
955                                         <graphic fileref="../images/StatsByAuthor.png"/>\r
956                                 </figure>\r
957                                 This graph shows you which authors have been active on the\r
958                                 project as a simple histogram, stacked histogram or\r
959                                 pie chart.\r
960                                 <figure id="tsvn-dug-showlog-stats-dia-3">\r
961                                         <title>Commits-by-Author Pie Chart</title>\r
962                                         <graphic fileref="../images/StatsByAuthPie.png"/>\r
963                                 </figure>\r
964                         </para>\r
965                         <para>\r
966                                 Where there are a few major authors and many minor contributors,\r
967                                 the number of tiny segments can make the graph more difficult to\r
968                                 read. The slider at the bottom allows you to set a threshold\r
969                                 (as a percentage of total commits) below which any activity is\r
970                                 grouped into an <emphasis>Others</emphasis> category.\r
971                         </para>\r
972                 </sect3>\r
973                 <sect3 id="tsvn-dug-showlog-stats-3">\r
974                         <title>Commits by date Page</title>\r
975                         <para>\r
976                                 <figure id="tsvn-dug-showlog-stats-dia-4">\r
977                                         <title>Commits-by-date Graph</title>\r
978                                         <graphic fileref="../images/StatsByDate.png"/>\r
979                                 </figure>\r
980                                 This page gives you a graphical representation of project\r
981                                 activity in terms of number of commits <emphasis>and</emphasis>\r
982                                 author. This gives some idea of when a project is being worked\r
983                                 on, and who was working at which time.\r
984                         </para>\r
985                         <para>\r
986                                 When there are several authors, you will get many lines on the\r
987                                 graph. There are two views available here: <emphasis>normal</emphasis>,\r
988                                 where each author's activity is relative to the base line, and\r
989                                 <emphasis>stacked</emphasis>, where each author's activity is\r
990                                 relative to the line underneath.\r
991                                 The latter option avoids the lines crossing over, which can make\r
992                                 the graph easier to read, but less easy to see one author's output.\r
993                         </para>\r
994                 </sect3>\r
995                 <para>\r
996                         By default the analysis is case-sensitive, so users\r
997                         <literal>PeterEgan</literal> and <literal>PeteRegan</literal>\r
998                         are treated as different authors. However, in many cases user names\r
999                         are not case-sensitive, and are sometimes entered inconsistently,\r
1000                         so you may want <literal>DavidMorgan</literal> and\r
1001                         <literal>davidmorgan</literal> to be treated as the same person.\r
1002                         Use the <guilabel>Authors case insensitive</guilabel> checkbox\r
1003                         to control how this is handled.\r
1004                 </para>\r
1005                 <para>\r
1006                         Note that the statistics cover the same period as the\r
1007                         Log dialog. If that is only displaying one revision\r
1008                         then the statistics will not tell you very much.\r
1009                 </para>\r
1010         </sect2>\r
1011         <!--\r
1012         <sect2 id="tsvn-dug-showlog-cache">\r
1013                 <?dbhh topicname="HIDD_GOOFFLINE"?>\r
1014                 <title>Offline Mode</title>\r
1015                 <para>\r
1016                         If the server is not reachable, and you have log caching enabled\r
1017                         you can use the log dialog and revision graph in offline mode.\r
1018                         This uses data from the cache, which allows you to continue working\r
1019                         although the information may not be up-to-date or even complete.\r
1020                 </para>\r
1021         </sect2>\r
1022         -->\r
1023         <sect2 id="tsvn-dug-showlog-refresh">\r
1024                 <title>Refreshing the View</title>\r
1025                 <para>\r
1026                         If you want to check the repository again for newer log messages,\r
1027                         you can simply refresh the view using <keycap>F5</keycap>. If you\r
1028                         are using the log cache (enabled by default), this will check the\r
1029                         repository for newer messages and fetch only the new ones.\r
1030                 </para>\r
1031                 <!--\r
1032                 <para>\r
1033                         If you are using the log cache and you think the message content\r
1034                         or author may have changed, you can use <keycap>Shift-F5</keycap>\r
1035                         or <keycap>Ctrl-F5</keycap> to re-fetch the displayed messages from\r
1036                         the server and update the log cache. Note that this only affects\r
1037                         messages currently shown and does not invalidate the entire cache\r
1038                         for that repository.\r
1039                 </para>\r
1040                 -->\r
1041         </sect2>\r
1042 </sect1>\r