fixed svn specific stuff
[TortoiseGit.git] / doc / source / en / TortoiseGit / tsvn_dug / dug_settings_progs.xml
blobed2eae292b2d90d215fa859d939392f361f46b43
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE sect2 SYSTEM "../../../dtd/dblite.dtd">\r
3 <sect2 id="tsvn-dug-settings-progs">\r
4         <title>External Program Settings</title>\r
5         <para>\r
6                 Here you can define your own programs that TortoiseGit\r
7                 should use. The default setting is to use tools\r
8                 which are installed alongside TortoiseGit.\r
9         </para>\r
10         <para>\r
11                 Read <xref linkend="tsvn-dug-diff-tools"/> for a list of some of the\r
12                 external diff/merge programs that people are using with TortoiseGit.\r
13         </para>\r
14         <sect3 id="tsvn-dug-settings-Diff">\r
15                 <title>Diff Viewer</title>\r
16                 <?dbhh topicname="HIDD_SETTINGSPROGSDIFF"?>\r
17                 <figure id="tsvn-dug-settings-dia-5">\r
18                         <title>The Settings Dialog, Diff Viewer Page</title>\r
19                         <graphic fileref="../images/SettingsProgs.png"/>\r
20                 </figure>\r
21                 <para>\r
22                         An external diff program may be used for comparing different\r
23                         revisions of files. The external program will need to\r
24                         obtain the filenames from the command line, along with\r
25                         any other command line options. TortoiseGit uses\r
26                         substitution parameters prefixed with <literal>%</literal>.\r
27                         When it encounters one of these it will substitute the\r
28                         appropriate value. The order of the parameters will depend\r
29                         on the Diff program you use.\r
30                         <variablelist>\r
31                                 <varlistentry>\r
32                                         <term condition="pot">%base</term>\r
33                                         <listitem>\r
34                                                 <para>\r
35                                                         The original file without your changes\r
36                                                 </para>\r
37                                         </listitem>\r
38                                 </varlistentry>\r
39                                 <varlistentry>\r
40                                         <term condition="pot">%bname</term>\r
41                                         <listitem>\r
42                                                 <para>\r
43                                                         The window title for the base file\r
44                                                 </para>\r
45                                         </listitem>\r
46                                 </varlistentry>\r
47                                 <varlistentry>\r
48                                         <term condition="pot">%mine</term>\r
49                                         <listitem>\r
50                                                 <para>\r
51                                                         Your own file, with your changes\r
52                                                 </para>\r
53                                         </listitem>\r
54                                 </varlistentry>\r
55                                 <varlistentry>\r
56                                         <term condition="pot">%yname</term>\r
57                                         <listitem>\r
58                                                 <para>\r
59                                                         The window title for your file\r
60                                                 </para>\r
61                                         </listitem>\r
62                                 </varlistentry>\r
63                         </variablelist>\r
64                 </para>\r
65                 <para>\r
66                         The window titles are not pure filenames.\r
67                         TortoiseGit treats that as a name to display and creates\r
68                         the names accordingly. So e.g. if you're doing a\r
69                         diff from a file in revision 123 with a file \r
70                         in your working tree, the names will be\r
71                         <filename>filename: revision 123</filename>\r
72                         and\r
73                         <filename>filename: working tree</filename>\r
74                 </para>\r
75                 <para>\r
76                         For example, with ExamDiff Pro:\r
77 <screen>\r
78 C:\Path-To\ExamDiff.exe %base %mine --left_display_name:%bname\r
79     --right_display_name:%yname\r
80 </screen>\r
81                         or with KDiff3:\r
82 <screen>\r
83 C:\Path-To\kdiff3.exe %base %mine --L1 %bname --L2 %yname\r
84 </screen>\r
85                         or with WinMerge:\r
86 <screen>\r
87 C:\Path-To\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine\r
88 </screen>\r
89                         or with Araxis:\r
90 <screen>\r
91 C:\Path-To\compare.exe /max /wait /title1:%bname /title2:%yname\r
92     %base %mine\r
93 </screen>\r
94                 </para>\r
95                 <para>\r
96                         You can also specify a different diff tool to use on Git\r
97                         properties. Since these tend to be short simple text strings, you\r
98                         may want to use a simpler more compact viewer.\r
99                 </para>\r
100                 <para>\r
101                         If you have configured an alternate diff tool, you can access\r
102                         TortoiseMerge <emphasis>and</emphasis> the third party tool\r
103                         from the context menus.\r
104                         <menuchoice>\r
105                                 <guimenu>Context menu</guimenu>\r
106                                 <guimenuitem>Diff</guimenuitem>\r
107                         </menuchoice>\r
108                         uses the primary diff tool, and\r
109                         <keycap>Shift</keycap>+\r
110                         <menuchoice>\r
111                                 <guimenu>Context menu</guimenu>\r
112                                 <guimenuitem>Diff</guimenuitem>\r
113                         </menuchoice>\r
114                         uses the secondary diff tool.\r
115                 </para>\r
116                 <para>\r
117                         A viewer program for unified-diff files (GNU diff or patch files).\r
118                         No parameters are required.\r
119                         The <guilabel>Default</guilabel> option is to check for\r
120                         a file association for <filename>.diff</filename> files,\r
121                         and then for <filename>.txt</filename> files.\r
122                         If you don't have a viewer for <filename>.diff</filename>\r
123                         files, you will most likely get NotePad.\r
124                 </para>\r
125                 <para>\r
126                         The original Windows NotePad program does not behave\r
127                         well on files which do not have standard CR-LF\r
128                         line-endings. Since most unified diff files have pure\r
129                         LF line-endings, they do not view well in NotePad.\r
130                         However, you can use a free NotePad replacement\r
131                         <ulink url="http://www.flos-freeware.ch/notepad2.html">\r
132                                 <citetitle>Notepad2</citetitle>\r
133                         </ulink> (this is also shipped with TortoiseGit)\r
134                         which not only displays the line-endings correctly,\r
135                         but also colour codes the added and removed lines.\r
136                 </para>\r
137         </sect3>\r
138         <sect3 id="tsvn-dug-settings-Merge">\r
139                 <title>Merge Tool</title>\r
140                 <?dbhh topicname="HIDD_SETTINGSPROGSMERGE"?>\r
141                 <figure id="tsvn-dug-settings-dia-5a">\r
142                         <title>The Settings Dialog, Merge Tool Page</title>\r
143                         <graphic fileref="../images/SettingsMergeTool.png"/>\r
144                 </figure>\r
145                 <para>\r
146                         An external merge program used to resolve conflicted\r
147                         files. Parameter substitution is used in the same way\r
148                         as with the Diff Program.\r
149                         <variablelist>\r
150                                 <varlistentry>\r
151                                         <term condition="pot">%base</term>\r
152                                         <listitem>\r
153                                                 <para>\r
154                                                         the original file without your or\r
155                                                         the others changes\r
156                                                 </para>\r
157                                         </listitem>\r
158                                 </varlistentry>\r
159                                 <varlistentry>\r
160                                         <term condition="pot">%bname</term>\r
161                                         <listitem>\r
162                                                 <para>\r
163                                                         The window title for the base file\r
164                                                 </para>\r
165                                         </listitem>\r
166                                 </varlistentry>\r
167                                 <varlistentry>\r
168                                         <term condition="pot">%mine</term>\r
169                                         <listitem>\r
170                                                 <para>\r
171                                                         your own file, with your changes\r
172                                                 </para>\r
173                                         </listitem>\r
174                                 </varlistentry>\r
175                                 <varlistentry>\r
176                                         <term condition="pot">%yname</term>\r
177                                         <listitem>\r
178                                                 <para>\r
179                                                         The window title for your file\r
180                                                 </para>\r
181                                         </listitem>\r
182                                 </varlistentry>\r
183                                 <varlistentry>\r
184                                         <term condition="pot">%theirs</term>\r
185                                         <listitem>\r
186                                                 <para>\r
187                                                         the file as it is in the repository\r
188                                                 </para>\r
189                                         </listitem>\r
190                                 </varlistentry>\r
191                                 <varlistentry>\r
192                                         <term condition="pot">%tname</term>\r
193                                         <listitem>\r
194                                                 <para>\r
195                                                         The window title for the file in the repository\r
196                                                 </para>\r
197                                         </listitem>\r
198                                 </varlistentry>\r
199                                 <varlistentry>\r
200                                         <term condition="pot">%merged</term>\r
201                                         <listitem>\r
202                                                 <para>\r
203                                                         the conflicted file, the result of\r
204                                                         the merge operation\r
205                                                 </para>\r
206                                         </listitem>\r
207                                 </varlistentry>\r
208                                 <varlistentry>\r
209                                         <term condition="pot">%mname</term>\r
210                                         <listitem>\r
211                                                 <para>\r
212                                                         The window title for the merged file\r
213                                                 </para>\r
214                                         </listitem>\r
215                                 </varlistentry>\r
216                         </variablelist>\r
217                 </para>\r
218                 <para>\r
219                         For example, with Perforce Merge:\r
220 <screen>\r
221 C:\Path-To\P4Merge.exe %base %theirs %mine %merged\r
222 </screen>\r
223                         or with KDiff3:\r
224 <screen>\r
225 C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged\r
226     --L1 %bname --L2 %yname --L3 %tname\r
227 </screen>\r
228                         or with Araxis:\r
229 <screen>\r
230 C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname\r
231     /title3:%yname %theirs %base %mine %merged /a2\r
232 </screen>\r
233                         or with WinMerge (2.8 or later):\r
234 <screen>\r
235 C:\Path-To\WinMerge.exe %merged\r
236 </screen>\r
237                 </para>\r
238         </sect3>\r
239         <sect3 id="tsvn-dug-settings-Progs-Adv">\r
240                 <title>Diff/Merge Advanced Settings</title>\r
241                 <?dbhh topicname="HIDD_SETTINGSPROGSADV"?>\r
242                 <para>\r
243                         <figure id="tsvn-dug-settings-dia-6">\r
244                                 <title>The Settings Dialog, Diff/Merge Advanced Dialog</title>\r
245                                 <graphic fileref="../images/SettingsProgsAdv.png"/>\r
246                         </figure>\r
247                         In the advanced settings, you can define a different diff and merge\r
248                         program for every file extension. For instance you could associate\r
249                         Photoshop as the <quote>Diff</quote> Program for <filename>.jpg</filename> files :-)\r
250                 </para>\r
251                 <para>\r
252                         To associate using a file extension, you need to specify the extension.\r
253                         Use <literal>.bmp</literal> to describe Windows bitmap files.\r
254                 </para>\r
255         </sect3>\r
256         <sect3 id="tsvn-dug-settings-alternativeeditor">\r
257                 <title>Alternative editor</title>\r
258                 <?dbhh topicname="HIDD_SETTINGSPROGSALTERNATIVEEDITOR"?>\r
259                 <figure id="tsvn-dug-settings-dia-6b">\r
260                         <title>The Settings Dialog, Alternative editor Page</title>\r
261                         <graphic fileref="../images/SettingsAlternativeEditor.png"/>\r
262                 </figure>\r
263                 <para>\r
264                         The original Windows NotePad program does not behave\r
265                         well on files which do not have standard CR-LF\r
266                         line-endings. However, a lot of git configuration files do not have\r
267                         a standard CR-LF line-ending. Because of this TortoiseGit uses a free\r
268                         (shipped) NotePad replacement\r
269                         <ulink url="http://www.flos-freeware.ch/notepad2.html">\r
270                                 <citetitle>Notepad2</citetitle>\r
271                         </ulink>\r
272                         which displays the line-endings correctly by default.\r
273                 </para>\r
274         </sect3>\r
275 </sect2>\r