Allow to control whether fetch uses default refspec for named remotes
[TortoiseGit.git] / doc / source / en / TortoiseGit / tgit_dug / dug_settings_advanced.xml
blob5725fdde54974fcf39001add78d8a507544e955d
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE sect2 SYSTEM "../../../dtd/dblite.dtd">\r
3 <sect2 id="tgit-dug-settings-registry">\r
4     <?dbhh topicname="HIDD_SETTINGS_CONFIG"?>\r
5     <title>Advanced Settings</title>\r
6     <indexterm>\r
7         <primary>registry</primary>\r
8     </indexterm>\r
9     <para>\r
10         A few infrequently used settings are available only in the advanced\r
11         page of the settings dialog. These settings modify the registry directly\r
12         and you have to know what each of these settings is used for and what\r
13         it does. Do not modify these settings unless you are sure you need to\r
14         change them.\r
15     </para>\r
16     <variablelist>\r
17         <varlistentry>\r
18             <term condition="pot">AutoCompleteMinChars</term>\r
19             <listitem>\r
20                 <para>\r
21                     The minimum amount of chars from which the editor\r
22                     shows an auto-completion popup. The default value\r
23                     is <literal>3</literal>.\r
24                 </para>\r
25             </listitem>\r
26         </varlistentry>\r
27         <varlistentry>\r
28             <term condition="pot">AutocompleteParseMaxSize</term>\r
29             <listitem>\r
30                 <para>\r
31                     The auto-completion list shown in the commit message editor\r
32                     can parse source code files and displays methods and variable names.\r
33                     This limits files to be parsed by their size in bytes. The default value\r
34                     is <literal>300000</literal>.\r
35                 </para>\r
36             </listitem>\r
37         </varlistentry>\r
38         <varlistentry>\r
39             <term condition="pot">AutocompleteParseUnversioned</term>\r
40             <listitem>\r
41                 <para>\r
42                     The auto-completion list shown in the commit message editor\r
43                     can parse source code files and displays methods and variable names.\r
44                     By default only versioned files are parsed. Set this value\r
45                     to <literal>true</literal> in order to also parse unversioned files.\r
46                 </para>\r
47             </listitem>\r
48         </varlistentry>\r
49         <varlistentry>\r
50             <term condition="pot">AutocompleteRemovesExtensions</term>\r
51             <listitem>\r
52                 <para>\r
53                     The auto-completion list shown in the commit message editor\r
54                     displays the names of files listed for commit.\r
55                     To also include these names with extensions removed,\r
56                     set this value to <literal>true</literal>.\r
57                 </para>\r
58             </listitem>\r
59         </varlistentry>\r
60         <varlistentry>\r
61             <term condition="pot">BlockStatus</term>\r
62             <listitem>\r
63                 <para>\r
64                     If you don't want the explorer to update the status overlays\r
65                     while another TortoiseGit command is running\r
66                     (e.g. Update, Commit, ...) then set this value to\r
67                     <literal>true</literal>.\r
68                 </para>\r
69             </listitem>\r
70         </varlistentry>\r
71         <varlistentry>\r
72             <term condition="pot">CacheTrayIcon</term>\r
73             <listitem>\r
74                 <para>\r
75                     To add a cache tray icon for the TGitCache program, set\r
76                     this value to <literal>true</literal>.\r
77                     This is really only useful for developers as it allows\r
78                     you to terminate the program gracefully.\r
79                 </para>\r
80             </listitem>\r
81         </varlistentry>\r
82         <varlistentry>\r
83             <term condition="pot">CacheSave</term>\r
84             <listitem>\r
85                 <para>\r
86                     To disable loading and saving cache for the TGitCache program, set\r
87                     this value to <literal>false</literal>.\r
88                     This is useful if you do not want to write the cache to disk,\r
89                     which can be a large file.\r
90                     The default is <literal>true</literal>.\r
91                 </para>\r
92             </listitem>\r
93         </varlistentry>\r
94         <varlistentry>\r
95             <term condition="pot">CygwinHack</term>\r
96             <listitem>\r
97                 <para>\r
98                     This enables some workarounds which enables TortoiseGit to be used with Cygwin Git.\r
99                     Cygwin Git, however, is not officially supported by TortoiseGit.\r
100                     See <xref linkend="tgit-dug-settings-main"/> for more information.\r
101                     The default is <literal>false</literal>.\r
102                 </para>\r
103             </listitem>\r
104         </varlistentry>\r
105         <varlistentry>\r
106             <term condition="pot">Debug</term>\r
107             <listitem>\r
108                 <para>\r
109                     Set this to <literal>true</literal> if you want a dialog to\r
110                     pop up for every command showing the command line used to\r
111                     start TortoiseGitProc.exe.\r
112                 </para>\r
113             </listitem>\r
114         </varlistentry>\r
115         <varlistentry>\r
116             <term condition="pot">DebugOutputString</term>\r
117             <listitem>\r
118                 <para>\r
119                     Set this to <literal>true</literal> if you want TortoiseGit\r
120                     to print out debug messages during execution. The messages\r
121                     can be captured with special debugging tools only (like\r
122                     <ulink url="http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx"><citetitle>Debug View</citetitle></ulink>\r
123                     from the SysInternals Suite).\r
124                 </para>\r
125             </listitem>\r
126         </varlistentry>\r
127 <!--\r
128         <varlistentry>\r
129             <term condition="pot">DiffBlamesWithTortoiseMerge</term>\r
130             <listitem>\r
131                 <para>\r
132                     TortoiseGit allows you to assign an external diff viewer.\r
133                     Most such viewers, however, are not suited for change blaming\r
134                     (<xref linkend="tgit-dug-blame-diffs"/>),\r
135                     so you might wish to fall back to TortoiseGitMerge in this case.\r
136                     To do so, set this value to <literal>true</literal>.\r
137                 </para>\r
138             </listitem>\r
139         </varlistentry>\r
140 -->\r
141         <varlistentry>\r
142             <term condition="pot">FullRowSelect</term>\r
143             <listitem>\r
144                 <para>\r
145                     The status list control which is used in various dialogs\r
146                     (e.g., commit, check-for-modifications, add, revert, ...)\r
147                     uses full row selection (i.e., if you select an entry, the\r
148                     full row is selected, not just the first column).\r
149                     This is fine, but the selected row then also covers the\r
150                     background image on the bottom right, which can look ugly.\r
151                     To disable full row select, set this value to\r
152                     <literal>false</literal>.\r
153                 </para>\r
154             </listitem>\r
155         </varlistentry>\r
156         <varlistentry>\r
157             <term condition="pot">GroupTaskbarIconsPerRepo</term>\r
158             <listitem>\r
159                 <para>\r
160                     This option determines how the Win7 taskbar icons of the various\r
161                     TortoiseGit dialogs and windows are grouped together.\r
162                 </para>\r
163                 <para>\r
164                     <orderedlist>\r
165                         <listitem>\r
166                             <para>\r
167                                 The default value is <literal>3</literal>. With this setting, the\r
168                                 icons are grouped together by application type per working tree.\r
169                                 All dialogs from TortoiseGit of one working tree are grouped together,\r
170                                 all windows from TortoiseGitMerge of one working tree are grouped together, ...\r
171                                 For example, if you have\r
172                                 a log dialog and a push dialog open for working tree\r
173                                 <literal>C:\A</literal>, and a check-for-modifications\r
174                                 dialog and a log dialog for working tree <literal>C:\B</literal>,\r
175                                 then there are two application icon groups shown\r
176                                 in the Win7 taskbar, one group for each working tree.\r
177                                 But TortoiseGitMerge windows are not grouped together\r
178                                 with TortoiseGit dialogs.\r
179                                 <figure id="tgit-dug-settings-registry-task1-1">\r
180                                     <title>Taskbar with default grouping</title>\r
181                                     <graphic fileref="../images/TaskbarGroup1.png"/>\r
182                                 </figure>\r
183                             </para>\r
184                         </listitem>\r
185                         <listitem>\r
186                             <para>\r
187                                 If set to <literal>4</literal>, then the grouping works as with\r
188                                 the setting set to <literal>3</literal>, except that TortoiseGit, TortoiseGitMerge,\r
189                                 TortoiseGitBlame, TortoiseGitIDiff and TortoiseGitUDiff windows\r
190                                 of one working tree\r
191                                 are all grouped together. For example, if you have\r
192                                 the log dialog open and then double click on\r
193                                 a modified file, the opened TortoiseGitMerge diff window\r
194                                 will be put in the same icon group on the taskbar\r
195                                 as the log dialog icon.\r
196                                 <figure id="tgit-dug-settings-registry-task2-1">\r
197                                     <title>Taskbar with repository grouping</title>\r
198                                     <graphic fileref="../images/TaskbarGroup2.png"/>\r
199                                 </figure>\r
200                             </para>\r
201                         </listitem>\r
202                         <listitem>\r
203                             <para>\r
204                                 If set to <literal>1</literal>, then the grouping works as with\r
205                                 the setting set to <literal>3</literal> (grouping by application),\r
206                                 except that grouping takes place\r
207                                 independently of the working tree. This was the default\r
208                                 before TGit 1.8.1.2.\r
209                             </para>\r
210                         </listitem>\r
211                         <listitem>\r
212                             <para>\r
213                                 If set to <literal>2</literal>, then the grouping works as with\r
214                                 the setting set to <literal>4</literal>, except that grouping takes place\r
215                                 independently of the working tree. Thus all TortoiseGit\r
216                                 icons are grouped to only show one icon.\r
217                             </para>\r
218                         </listitem>\r
219                     </orderedlist>\r
220                 </para>\r
221             </listitem>\r
222         </varlistentry>\r
223         <varlistentry>\r
224             <term condition="pot">GroupTaskbarIconsPerRepoOverlay</term>\r
225             <listitem>\r
226                 <para>\r
227                     This has no effect if the option <literal>GroupTaskbarIconsPerRepo</literal>\r
228                     is set to <literal>0</literal> (see above).\r
229                 </para>\r
230                 <para>\r
231                     If this option is set to <literal>true</literal>, then every\r
232                     icon on the Win7 taskbar shows a small colored rectangle overlay,\r
233                     indicating the working tree the dialogs/windows are used for.\r
234                     <figure id="tgit-dug-settings-registry-overlay-1">\r
235                         <title>Taskbar grouping with repository color overlays</title>\r
236                         <graphic fileref="../images/TaskbarGroupOverlay.png"/>\r
237                     </figure>\r
238                 </para>\r
239             </listitem>\r
240         </varlistentry>\r
241         <varlistentry>\r
242             <term condition="pot">LogShowSuperProjectSubmodulePointer</term>\r
243             <listitem>\r
244                 <para>\r
245                     This option defines whether the commit of a submodule to which the super repository points to is highlighted with a branch like label (cf. <ulink url="https://tortoisegit.org/issue/2826"><citetitle>issue #2826</citetitle></ulink>).\r
246                     The default is <literal>true</literal>.\r
247                 </para>\r
248             </listitem>\r
249         </varlistentry>\r
250         <varlistentry>\r
251             <term condition="pot">MaxRefHistoryItems</term>\r
252             <listitem>\r
253                 <para>\r
254                     This options sets the maximum browse ref history (Right click ref hyperlink to find it).\r
255                     The default is <literal>5</literal>.\r
256                 </para>\r
257             </listitem>\r
258         </varlistentry>\r
259         <varlistentry>\r
260             <term condition="pot">Msys2Hack</term>\r
261             <listitem>\r
262                 <para>\r
263                     This enables some workarounds which enables TortoiseGit to be used with Msys2 Git (do not enable this for the Git for Windows package!).\r
264                     Msys2 Git, however, is not officially supported by TortoiseGit.\r
265                     See <xref linkend="tgit-dug-settings-main"/> for more information.\r
266                     The default is <literal>false</literal>.\r
267                 </para>\r
268             </listitem>\r
269         </varlistentry>\r
270         <varlistentry>\r
271             <term condition="pot">NamedRemoteFetchAll</term>\r
272             <listitem>\r
273                 <para>\r
274                     When set to <literal>false</literal>, <literal>fetch</literal> and <literal>pull</literal> don't fetch the default refspec for a named remote.\r
275                     The default is <literal>true</literal>.\r
276                 </para>\r
277             </listitem>\r
278         </varlistentry>\r
279         <varlistentry>\r
280             <term condition="pot">NoSortLocalBranchesFirst</term>\r
281             <listitem>\r
282                 <para>\r
283                     This option toggles if the branches are sorted fully by name (<literal>true</literal>) or if local branches should appear above remote ones (git default, <literal>false</literal>).\r
284                     The default value is <literal>false</literal>.\r
285                 </para>\r
286             </listitem>\r
287         </varlistentry>\r
288         <varlistentry>\r
289             <term condition="pot">NumDiffWarning</term>\r
290             <listitem>\r
291                 <para>\r
292                     If you want to show the diff at once for more items\r
293                     than specified with this settings, a warning dialog\r
294                     is shown first. The default is <literal>10</literal>.\r
295                 </para>\r
296             </listitem>\r
297         </varlistentry>\r
298         <varlistentry>\r
299             <term condition="pot">ProgressDlgLinesLimit</term>\r
300             <listitem>\r
301                 <para>\r
302                     The Git progress dialog shows the output of the executed git.exe commands.\r
303                     The number of lines are limited for performance reasons. The default is <literal>50000</literal>, minimum is <literal>50</literal>.\r
304                 </para>\r
305             </listitem>\r
306         </varlistentry>\r
307         <varlistentry>\r
308             <term condition="pot">ReaddUnselectedAddedFilesAfterCommit</term>\r
309             <listitem>\r
310                 <para>\r
311                     This option toggles the re-adding of unselected added files after a commit. Up to\r
312                     TortoiseGit 1.7.10 added files which were not checked on a commit, were removed from\r
313                     the index and unversioned after the commit. Set this value to <literal>false</literal>\r
314                     to restore the old behavior.\r
315                     Set this value to <literal>true</literal> to readd these files again after the commit (default).\r
316                 </para>\r
317             </listitem>\r
318         </varlistentry>\r
319         <varlistentry>\r
320             <term condition="pot">RefreshFileListAfterResolvingConflict</term>\r
321             <listitem>\r
322                 <para>\r
323                     This option toggles whether the file lists of the commit dialog, resolve conflicts and rebase dialog automatically refresh\r
324                     when a conflict is marked as resolved. By default this is set to <literal>true</literal>, but in certain cases, e.g.\r
325                     when refreshing takes lots of time or you want to prevent the scrolling to the top, this can be set to <literal>false</literal>.\r
326                     However, then a manual refresh (e.g. by pressing <keycap>F5</keycap>) is necessary.\r
327                 </para>\r
328             </listitem>\r
329         </varlistentry>\r
330         <varlistentry>\r
331             <term condition="pot">RememberFileListPosition</term>\r
332             <listitem>\r
333                 <para>\r
334                     This option toggles whether the file lists of the add, commit, revert, resolve and rebase dialog remember the last selected\r
335                     line on a refresh. The default is <literal>true</literal>.\r
336                 </para>\r
337             </listitem>\r
338         </varlistentry>\r
339         <varlistentry>\r
340             <term condition="pot">SanitizeCommitMsg</term>\r
341             <listitem>\r
342                 <para>\r
343                     This option trims space, CR, LF characters at the end of commit messages you enter.\r
344                     This covers commit, rebase, notes, annotated tag.\r
345                     This value is <literal>true</literal> by default.\r
346                     If such trimming breaks your scripts/plugins,\r
347                     you can disable trimming by set it to <literal>false</literal>.\r
348                 </para>\r
349             </listitem>\r
350         </varlistentry>\r
351         <varlistentry>\r
352             <term condition="pot">ScintillaDirect2D</term>\r
353             <listitem>\r
354                 <para>\r
355                     This option enables the use of Direct2D accelerated\r
356                     drawing in the Scintilla control which is used\r
357                     as the edit box in e.g. the commit dialog (also for the attached patch window), the\r
358                     unified diff viewer and TortoiseGitBlame.\r
359                     With some graphic cards, however, this sometimes\r
360                     doesn't work properly so that the cursor to enter\r
361                     text isn't always visible, the redraw does not work\r
362                     or the background is flashing. It's disabled by default. You\r
363                     can turn this feature on by setting this value\r
364                     to <literal>true</literal>.\r
365                 </para>\r
366             </listitem>\r
367         </varlistentry>\r
368         <varlistentry>\r
369             <term condition="pot">ShellMenuAccelerators</term>\r
370             <listitem>\r
371                 <para>\r
372                     TortoiseGit uses accelerators for its explorer context menu\r
373                     entries. Since this can lead to doubled accelerators (e.g.\r
374                     the <literal>Git Commit</literal> has the <keycap>Alt-C</keycap>\r
375                     accelerator, but so does the <literal>Copy</literal> entry\r
376                     of explorer).\r
377                     If you don't want or need the accelerators of the TortoiseGit\r
378                     entries, set this value to <literal>false</literal>.\r
379                 </para>\r
380             </listitem>\r
381         </varlistentry>\r
382         <varlistentry>\r
383             <term condition="pot">ShowContextMenuIcons</term>\r
384             <listitem>\r
385                 <para>\r
386                     This can be useful if you use something other than the windows explorer\r
387                     or if you get problems with the context menu displaying incorrectly.\r
388                     Set this value to <literal>false</literal>\r
389                     if you don't want TortoiseGit to show icons for the\r
390                     shell context menu items.\r
391                     Set this value to <literal>true</literal> to show the icons again.\r
392                 </para>\r
393             </listitem>\r
394         </varlistentry>\r
395         <varlistentry>\r
396             <term condition="pot">ShowAppContextMenuIcons</term>\r
397             <listitem>\r
398                 <para>\r
399                     If you don't want TortoiseGit to show icons for the context menus\r
400                     in its own dialogs, set this value to <literal>false</literal>.\r
401                 </para>\r
402             </listitem>\r
403         </varlistentry>\r
404         <varlistentry>\r
405             <term condition="pot">ShowListBackgroundImage</term>\r
406             <listitem>\r
407                 <para>\r
408                     If you do not want to have a small background image in list controls (e.g. Commit Dialog)\r
409                     set this value to <literal>false</literal>.\r
410                     Set this value to <literal>true</literal> to show the images again (default).\r
411                 </para>\r
412             </listitem>\r
413         </varlistentry>\r
414         <varlistentry>\r
415             <term condition="pot">SquashDate</term>\r
416             <listitem>\r
417                 <para>\r
418                     Using this setting you can control which date is used on squashing commits.\r
419                     Set this value to <literal>1</literal> if you want to use the date of the latest commit.\r
420                     Set this value to <literal>2</literal> if you want to use the current date.\r
421                     Set this value to <literal>0</literal> to use the date of the first commit (into which all others are squashed, default).\r
422                 </para>\r
423             </listitem>\r
424         </varlistentry>\r
425         <varlistentry>\r
426           <term condition="pot">StyleCommitMessages</term>\r
427           <listitem>\r
428             <para>\r
429               The commit and log dialog use styling (e.g. bold, italic)\r
430               in commit messages\r
431               (see <xref linkend="tgit-dug-commit-log"/> for details).\r
432               If you don't want to do this, set the value to\r
433               <literal>false</literal>.\r
434             </para>\r
435           </listitem>\r
436         </varlistentry>\r
437         <varlistentry>\r
438             <term condition="pot">TGitCacheCheckContentMaxSize</term>\r
439             <listitem>\r
440                 <para>\r
441                     TGitCache checks the content of files by hashing them and comparing the SHA1 in order to\r
442                     calculate the file statuses if the timestamps (to index) mismatch.\r
443                     This option allows to restrict this behavior for files which do not exceed a specific size (in KiB).\r
444                     The default maximum file size is 10 MiB (i.e., 10 * 1024 KiB = <literal>10240</literal> KiB).\r
445                     Set this to 0 in order to make TGitCache only check the timestamps (as TortoiseGit 1.7.0 up to 1.7.12 did;\r
446                     before TortoiseGit 1.9.0.0 this was controlled by TGitCacheCheckContent).\r
447                     Disabling checking the file contents can lower disk access and CPU time of the TGitCache process, however, overlay\r
448                     accuracy might not be as accurate as with checking of the file contents enabled.\r
449                 </para>\r
450             </listitem>\r
451         </varlistentry>\r
452         <varlistentry>\r
453             <term condition="pot">UseLibgit2</term>\r
454             <listitem>\r
455                 <para>\r
456                     This makes TortoiseGit to use libgit2 as much as possible (e.g. for\r
457                     adding files to the index).\r
458                     If you do not want TortoiseGit to use libgit2 for file operations, set this value to <literal>false</literal>.\r
459                 </para>\r
460             </listitem>\r
461         </varlistentry>\r
462         <varlistentry>\r
463             <term condition="pot">VersionCheck</term>\r
464             <listitem>\r
465                 <para>\r
466                     TortoiseGit checks whether there's a new version available\r
467                     about once a week. If you don't want TortoiseGit to do this\r
468                     check, set this value to <literal>false</literal>.\r
469                 </para>\r
470             </listitem>\r
471         </varlistentry>\r
472         <varlistentry>\r
473             <term condition="pot">VersionCheckPreview</term>\r
474             <listitem>\r
475                 <para>\r
476                     Set this to <literal>true</literal> to make TortoiseGit also check for new preview releases.\r
477                     The default in all stable releases is <literal>false</literal>.\r
478                 </para>\r
479             </listitem>\r
480         </varlistentry>\r
481     </variablelist>\r
482 </sect2>\r