Fixed issue #2604: Tag using TortoiseGitProc.exe /command:tag should accept a tag...
[TortoiseGit.git] / doc / source / en / TortoiseGit / tgit_app_automation.xml
bloba054441736b5e82baee4bc084d2b30fcacaac0bb
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE appendix SYSTEM "../../dtd/dblite.dtd">\r
3 <appendix id="tgit-automation">\r
4         <title>Automating TortoiseGit</title>\r
5         <simplesect>\r
6                 <para>\r
7                         Since all commands for TortoiseGit are controlled through command\r
8                         line parameters, you can automate it with batch scripts or start specific\r
9                         commands and dialogs from other programs (e.g. your favourite text editor).\r
10                 </para>\r
11                 <important>\r
12                 <para>\r
13                         Remember that TortoiseGit is a GUI client, and this automation guide\r
14                         shows you how to make the TortoiseGit dialogs appear to collect user\r
15                         input. If you want to write a script which requires no input, you should\r
16                         use the official Git command line client instead.\r
17                 </para>\r
18                 </important>\r
19         </simplesect>\r
20         <!-- ================================================================= -->\r
21         <!-- ======================== SECTION 1 ============================== -->\r
22         <!-- ================================================================= -->\r
23         <sect1 id="tgit-automation-basics">\r
24                 <title>TortoiseGit Commands</title>\r
25                 <indexterm>\r
26                         <primary>automation</primary>\r
27                 </indexterm>\r
28                 <indexterm>\r
29                         <primary>command line</primary>\r
30                 </indexterm>\r
31                 <para>\r
32                         The TortoiseGit GUI program is called <literal>TortoiseGitProc.exe</literal>.\r
33                         All commands are specified with the parameter <option>/command:abcd</option>\r
34                         where <literal>abcd</literal> is the required command name. Most of these\r
35                         commands need at least one path argument, which is given with \r
36                         <option>/path:"some\path"</option>. In the following table the command \r
37                         refers to the <option>/command:abcd</option> parameter and the path\r
38                         refers to the <option>/path:"some\path"</option> parameter.\r
39                 </para>\r
40                 <para>\r
41                         Since some of the commands can take a list of target paths (e.g. committing\r
42                         several specific files) the <option>/path</option> parameter can take\r
43                         several paths, separated by a <literal>*</literal> character.\r
44                 </para>\r
45                 <para>\r
46                         TortoiseGit uses temporary files to pass multiple arguments between\r
47                         the shell extension and the main program. From TortoiseGit 1.5.0 on and later,\r
48                         <option>/notempfile</option> parameter is obsolete and there is no need\r
49                         to add it anymore.\r
50                 </para>\r
51                 <para>\r
52                         The progress dialog which is used for commits, updates and many more git.exe commands\r
53                         usually stays open after the command has finished until the user presses\r
54                         the <guibutton>OK</guibutton> button. This can be changed in the settings dialog.\r
55                         You may use <option>/closeonend</option> parameter to override the this setting\r
56                         from your batch file.\r
57                 </para>\r
58                 <para>\r
59                         To close the (git.exe) progress dialog at the end of a command automatically without\r
60                         using the permanent setting you can pass the <option>/closeonend</option>\r
61                         parameter.\r
62                         <itemizedlist>\r
63                                 <listitem>\r
64                                         <para>\r
65                                                 <option>/closeonend:0</option> Close manually\r
66                                         </para>\r
67                                 </listitem>\r
68                                 <listitem>\r
69                                         <para>\r
70                                                 <option>/closeonend:1</option> Auto-close if no further options are available\r
71                                         </para>\r
72                                 </listitem>\r
73                                 <listitem>\r
74                                         <para>\r
75                                                 <option>/closeonend:2</option> Auto-close if no errors\r
76                                         </para>\r
77                                 </listitem>\r
78 <!--\r
79                                 <listitem>\r
80                                         <para>\r
81                                                 <option>/closeonend:3</option> auto close if no errors, conflicts and merges\r
82                                         </para>\r
83                                 </listitem>\r
84                                 <listitem>\r
85                                         <para>\r
86                                                 <option>/closeonend:4</option> auto close if no errors, conflicts and merges\r
87                                                 for local operations\r
88                                         </para>\r
89                                 </listitem>\r
90 -->\r
91                         </itemizedlist>\r
92                 </para>\r
93                 <para>\r
94                         The table below lists all the commands which can be accessed\r
95                         using the TortoiseGitProc.exe command line. As described above,\r
96                         these should be used in the form <literal>/command:abcd</literal>.\r
97                         In the table, the <literal>/command</literal> prefix is omitted\r
98                         to save space.\r
99                 </para>\r
100 <!--\r
101 ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION\r
102 Don't touch these lines:\r
103 <entry condition="pot">:about</entry>\r
105   The condition="pot" prevents the strings from being extracted into\r
106         the .pot file, so nobody translates them.\r
107   The colons in front of the command have to stay there to prevent these strings\r
108   from being translated if the po file "by chance" contains a matching translation.\r
109 -->\r
110                 <para>\r
111                         <table id="tgit-automation-1-table">\r
112                                 <title>List of available commands and options</title>\r
113                                 <tgroup cols="2">\r
114                                         <colspec colnum="1" colwidth="2*"/>\r
115                                         <colspec colnum="2" colwidth="6*"/>\r
116                                         <thead>\r
117                                                 <row>\r
118                                                         <entry>Command</entry>\r
119                                                         <entry>Description</entry>\r
120                                                 </row>\r
121                                         </thead>\r
122                                         <tbody>\r
123                                                 <row>\r
124                                                         <entry condition="pot">:about</entry>\r
125                                                         <entry>\r
126                                                                 Shows the about dialog. This is also shown if no\r
127                                                                 command is given.\r
128                                                         </entry>\r
129                                                 </row>\r
130                                                 <row>\r
131                                                         <entry condition="pot">:bisect</entry>\r
132                                                         <entry>\r
133                                                                 Allows to control the <link linkend="tgit-dug-bisect">bisect logic</link> of TortoiseGit.\r
134                                                                 Use the <option>/start</option> parameter to start a bisect you can specify <option>/good:REF</option> and <option>/bad:REF</option> here).\r
135                                                                 When bisect is active, you can use <option>/good</option>, <option>/bad</option> and <option>/reset</option> to control the bisect process.\r
136                                                         </entry>\r
137                                                 </row>\r
138                                                 <row>\r
139                                                         <entry condition="pot">:fetch</entry>\r
140                                                         <entry>\r
141                                                                 Opens the <link linkend="tgit-dug-pull">fetch dialog</link>.\r
142                                                                 Use the <option>/remote</option> parameter to control the remote which should be pre-selected.\r
143                                                         </entry>\r
144                                                 </row>\r
145                                                 <row>\r
146                                                         <entry condition="pot">:log</entry>\r
147                                                         <entry>\r
148                                                                 Opens the <link linkend="tgit-dug-showlog">log dialog</link>. The <option>/path</option> specifies the\r
149                                                                 file or folder for which the log should be shown.\r
150                                                                 Additional options can be set:\r
151                                                                 <option>/rev:"SHA1"</option> highlights and automatically scrolls to the specified revision,\r
152                                                                 <option>/endrev:"SHA1/branch"</option>, shows the log of the specified revision,\r
153                                                                 <option>/startrev:"SHA1/branch"</option> (only in combination with endrev), shows the log of the revision range startrev..endrev,\r
154                                                                 <option>/range:"gitrevision"</option>, shows the log of the entered gitrevision (e.g. "branch1...branch2"),\r
155                                                                 <option>/limit:"N SCALE"</option>, SCALE could be "Commit", "Year", "Month", "Week";\r
156                                                                 it shows last N commit(s), last N year(s), last N month(s), last N week(s).\r
157                                                                 Use <option>/limit:0</option> to disable any default limit.\r
158                                                                 <option>/findstring:"filterstring"</option> fills in the filter text,\r
159                                                                 <option>/findtext</option> forces the filter to use text, not regex, or\r
160                                                                 <option>/findregex</option> forces the filter to use regex, not simple text search, and\r
161                                                                 <option>/findtype:X</option> with X being a number between 0 and 127. The numbers\r
162                                                                 are the sum of the following options:\r
163                                                                 <itemizedlist>\r
164                                                                         <listitem>\r
165                                                                                 <para>\r
166                                                                                         <option>/findtype:0</option> filter by everything\r
167                                                                                 </para>\r
168                                                                         </listitem>\r
169                                                                         <listitem>\r
170                                                                                 <para>\r
171                                                                                         <option>/findtype:1</option> filter by messages\r
172                                                                                 </para>\r
173                                                                         </listitem>\r
174                                                                         <listitem>\r
175                                                                                 <para>\r
176                                                                                         <option>/findtype:2</option> filter by path\r
177                                                                                 </para>\r
178                                                                         </listitem>\r
179                                                                         <listitem>\r
180                                                                                 <para>\r
181                                                                                         <option>/findtype:4</option> filter by authors\r
182                                                                                 </para>\r
183                                                                         </listitem>\r
184                                                                         <listitem>\r
185                                                                                 <para>\r
186                                                                                         <option>/findtype:8</option> filter by revisions\r
187                                                                                 </para>\r
188                                                                         </listitem>\r
189                                                                         <listitem>\r
190                                                                                 <para>\r
191                                                                                         <option>/findtype:16</option> not used\r
192                                                                                 </para>\r
193                                                                         </listitem>\r
194                                                                         <listitem>\r
195                                                                                 <para>\r
196                                                                                         <option>/findtype:32</option> filter by bug ID\r
197                                                                                 </para>\r
198                                                                         </listitem>\r
199                                                                         <listitem>\r
200                                                                                 <para>\r
201                                                                                         <option>/findtype:64</option> filter by subject\r
202                                                                                 </para>\r
203                                                                         </listitem>\r
204                                                                 </itemizedlist>\r
205                                                                 If <option>/outfile:path\to\file</option> is specified,\r
206                                                                 the selected revision is written to that file when\r
207                                                                 the log dialog is closed.\r
208                                                         </entry>\r
209                                                 </row>\r
210                                                 <row>\r
211                                                         <entry condition="pot">:clone</entry>\r
212                                                         <entry>\r
213                                                                 Opens the <link linkend="tgit-dug-clone">clone dialog</link>.\r
214                                                                 The <option>/url</option> specifies the URL to clone from.\r
215                                                                 The <option>/path</option> specifies the target directory\r
216                                                                 to clone to.\r
217                                                                 If <option>/exactpath</option> is not specfied, the \r
218                                                                 repository name (without trailing .git) will be appended to\r
219                                                                 target directory. This is the default behaviour.\r
220                                                                 If <option>/exactpath</option> is specfied, the \r
221                                                                 exact <option>/path</option> is considered the target directory,\r
222                                                                 without appending repository name to it.\r
223                                                         </entry>\r
224                                                 </row>\r
225                                                 <!--\r
226                                                 <row>\r
227                                                         <entry condition="pot">:import</entry>\r
228                                                         <entry>\r
229                                                                 Opens the import dialog. The <option>/path</option>\r
230                                                                 specifies the directory with the data to import.\r
231                                                         </entry>\r
232                                                 </row>\r
233                                                 -->\r
234                                                 <!--\r
235                                                 <row>\r
236                                                         <entry condition="pot">:update</entry>\r
237                                                         <entry>\r
238                                                                 Updates the working tree in <option>/path</option> to\r
239                                                                 HEAD. If the option <option>/rev</option> is given\r
240                                                                 then a dialog is shown to ask the user to which\r
241                                                                 revision the update should go. To avoid the dialog\r
242                                                                 specify a revision number <option>/rev:1234</option>.\r
243                                                                 Other options are <option>/nonrecursive</option> and\r
244                                                                 <option>/ignoreexternals</option>.\r
245                                                         </entry>\r
246                                                 </row>\r
247                                                 -->\r
248                                                 <row>\r
249                                                         <entry condition="pot">:commit</entry>\r
250                                                         <entry>\r
251                                                                 Opens the <link linkend="tgit-dug-commit">commit dialog</link>. The <option>/path</option> specifies the\r
252                                                                 target directory or the list of files to commit.\r
253                                                                 You can also specify the <option>/logmsg</option> switch\r
254                                                                 to pass a predefined log message to the commit dialog.\r
255                                                                 Or, if you don't want to pass the log message on the\r
256                                                                 command line, use <option>/logmsgfile:path</option>,\r
257                                                                 where <option>path</option>\r
258                                                                 points to a file containing the log message.\r
259                                                                 To pre-fill the bug ID box (in case you've set up\r
260                                                                 integration with bug trackers properly), you can use\r
261                                                                 the <option>/bugid:"the bug id here"</option> to\r
262                                                                 do that.\r
263                                                         </entry>\r
264                                                 </row>\r
265                                                 <row>\r
266                                                         <entry condition="pot">:add</entry>\r
267                                                         <entry>\r
268                                                                 Adds the files in <option>/path</option> to\r
269                                                                 version control.\r
270                                                         </entry>\r
271                                                 </row>\r
272                                                 <row>\r
273                                                         <entry condition="pot">:revert</entry>\r
274                                                         <entry>\r
275                                                                 Reverts local modifications of a working tree.\r
276                                                                 The <option>/path</option> tells which items\r
277                                                                 to revert.\r
278                                                         </entry>\r
279                                                 </row>\r
280                                                 <row>\r
281                                                         <entry condition="pot">:cleanup</entry>\r
282                                                         <entry>\r
283                                                                 <link linkend="tgit-dug-cleanup">Cleans up the working tree</link> in <option>/path</option>.\r
284                                                         </entry>\r
285                                                 </row>\r
286                                                 <row>\r
287                                                         <entry condition="pot">:resolve</entry>\r
288                                                         <entry>\r
289                                                                 Marks a conflicted file specified in \r
290                                                                 <option>/path</option> as resolved. If \r
291                                                                 <option>/noquestion</option> is given, then resolving\r
292                                                                 is done without asking the user first if it really\r
293                                                                 should be done.\r
294                                                         </entry>\r
295                                                 </row>\r
296                                                 <row>\r
297                                                         <entry condition="pot">:repocreate</entry>\r
298                                                         <entry>\r
299                                                                 <link linkend="tgit-dug-create">Creates a repository</link> in <option>/path</option>\r
300                                                         </entry>\r
301                                                 </row>\r
302                                                 <row>\r
303                                                         <entry condition="pot">:switch</entry>\r
304                                                         <entry>\r
305                                                                 Opens the <link linkend="tgit-dug-checkout">switch dialog</link>. The <option>/path</option> specifies the\r
306                                                                 target directory.\r
307                                                         </entry>\r
308                                                 </row>\r
309                                                 <row>\r
310                                                         <entry condition="pot">:export</entry>\r
311                                                         <entry>\r
312                                                                 <link linkend="tgit-dug-export">Exports a revision</link> of the repository in <option>/path</option>\r
313                                                                 to a zip file.\r
314                                                         </entry>\r
315                                                 </row>\r
316                                                 <row>\r
317                                                         <entry condition="pot">:merge</entry>\r
318                                                         <entry>\r
319                                                                 Opens the <link linkend="tgit-dug-merge">merge dialog</link>. The <option>/path</option> specifies the\r
320                                                                 target directory.\r
321                                                         </entry>\r
322                                                 </row>\r
323                                                 <!--\r
324                                                 <row>\r
325                                                         <entry condition="pot">:copy</entry>\r
326                                                         <entry>\r
327                                                                 Brings up the branch/tag dialog.\r
328                                                                 The <option>/path</option>\r
329                                                                 is the working tree to branch/tag from.\r
330                                                                 And the <option>/url</option> is the\r
331                                                                 target URL.\r
332                                                                 You can also specify the <option>/logmsg</option> switch\r
333                                                                 to pass a predefined log message to the branch/tag dialog.\r
334                                                                 Or, if you don't want to pass the log message on the\r
335                                                                 command line, use <option>/logmsgfile:path</option>,\r
336                                                                 where <option>path</option>\r
337                                                                 points to a file containing the log message.\r
338                                                         </entry>\r
339                                                 </row>\r
340                                                 -->\r
341                                                 <row>\r
342                                                         <entry condition="pot">:settings</entry>\r
343                                                         <entry>\r
344                                                                 Opens the <link linkend="tgit-dug-settings">settings dialog</link>.\r
345                                                         </entry>\r
346                                                 </row>\r
347                                                 <row>\r
348                                                         <entry condition="pot">:remove</entry>\r
349                                                         <entry>\r
350                                                                 Removes the file(s) in <option>/path</option> from\r
351                                                                 version control.\r
352                                                         </entry>\r
353                                                 </row>\r
354                                                 <row>\r
355                                                         <entry condition="pot">:rename</entry>\r
356                                                         <entry>\r
357                                                                 Renames the file in <option>/path</option>. The new\r
358                                                                 name for the file is asked with a dialog.\r
359 <!--\r
360                                                                 To avoid the question about renaming similar files\r
361                                                                 in one step, pass <option>/noquestion</option>.\r
362 -->\r
363                                                         </entry>\r
364                                                 </row>\r
365                                                 <row>\r
366                                                         <entry condition="pot">:diff</entry>\r
367                                                         <entry>\r
368                                                                 Starts the external diff program specified in the\r
369                                                                 TortoiseGit settings. The <option>/path</option>\r
370                                                                 specifies the first file.\r
371                                                                 If the option <option>/path2</option>\r
372                                                                 is set, then the diff program is started with those\r
373                                                                 two files. If <option>/path2</option> is omitted,\r
374                                                                 then the diff is done between the file in\r
375                                                                 <option>/path</option> and its BASE.\r
376                                                                 To explicitly set the revision use\r
377                                                                 <option>/startrev:xxx</option> and\r
378                                                                 <option>/endrev:xxx</option>.\r
379                                                                 Add <option>/unified</option> to get a unified diff.\r
380                                                                 Add <option>/line:NN</option> to get scroll to the mentioned line.\r
381 <!--\r
382                                                                 If <option>/blame</option> is set and <option>/path2</option>\r
383                                                                 is not set, then the diff is done by first blaming \r
384                                                                 the files with the given revisions.\r
385 -->\r
386                                                         </entry>\r
387                                                 </row>\r
388                                                 <row>\r
389                                                         <entry condition="pot">:showcompare</entry>\r
390                                                         <entry>\r
391                                                                 <para>\r
392                                                                 Depending on revisions to compare and the path, this\r
393                                                                 either shows a unified diff (if the option <option>unified</option> is set), \r
394                                                                 a dialog with a list of files that have changed (filtered by a possibly entered subpath) or if \r
395                                                                 the path point to a file starts the diff viewer for \r
396                                                                 those the file in the different revisions.\r
397                                                                 Use <option>/revision1:xxx</option> and <option>/revision2:xxx</option> to specify the revisions to compare.\r
398                                                                 </para>\r
399                                                         </entry>\r
400                                                 </row>\r
401                                                 <row>\r
402                                                         <entry condition="pot">:conflicteditor</entry>\r
403                                                         <entry>\r
404                                                                 Starts the conflict editor specified in the TortoiseGit\r
405                                                                 settings with the correct files for the conflicted\r
406                                                                 file in <option>/path</option>.\r
407                                                         </entry>\r
408                                                 </row>\r
409                                                 <row>\r
410                                                         <entry condition="pot">:help</entry>\r
411                                                         <entry>\r
412                                                                 Opens the help file.\r
413                                                         </entry>\r
414                                                 </row>\r
415                                                 <row>\r
416                                                         <entry condition="pot">:repostatus</entry>\r
417                                                         <entry>\r
418                                                                 Opens the check-for-modifications dialog. The <option>/path</option>\r
419                                                                 specifies the working tree directory.\r
420                                                         </entry>\r
421                                                 </row>\r
422                                                 <row>\r
423                                                         <entry condition="pot">:repobrowser</entry>\r
424                                                         <entry>\r
425                                                                 Starts the <link linkend="tgit-dug-repobrowser">repository browser dialog</link>, pointing to\r
426                                                                 the working tree given in <option>/path</option>.\r
427                                                                 An additional option <option>/rev:xxx</option> can\r
428                                                                 be used to specify the revision which the repository\r
429                                                                 browser should show. If the <option>/rev:xxx</option>\r
430                                                                 is omitted, it defaults to HEAD.\r
431                                                         </entry>\r
432                                                 </row>\r
433                                                 <row>\r
434                                                         <entry condition="pot">:ignore</entry>\r
435                                                         <entry>\r
436                                                                 Adds all targets in <option>/path</option> to the\r
437                                                                 ignore list, i.e. adds file(s) to the <literal>.gitignore</literal>\r
438                                                                 file.\r
439                                                         </entry>\r
440                                                 </row>\r
441                                                 <row>\r
442                                                         <entry condition="pot">:blame</entry>\r
443                                                         <entry>\r
444                                                                 <para>\r
445                                                                 Opens <link linkend="tgit-dug-blame">TortoiseGitBlame</link> for the file specified \r
446                                                                 in <option>/path</option>.\r
447                                                                 </para>\r
448                                                                 <para>\r
449                                                                 If the option <option>/endrev</option> is set TortoiseGitBlame\r
450                                                                 ends at that revision.\r
451                                                                 </para>\r
452                                                                 <para>\r
453                                                                 If the option <option>/line:nnn</option> is set,\r
454                                                                 TortoiseGitBlame will open with the specified line\r
455                                                                 number showing.\r
456                                                                 </para>\r
457                                                         </entry>\r
458                                                 </row>\r
459                                                 <row>\r
460                                                         <entry condition="pot">:cat</entry>\r
461                                                         <entry>\r
462                                                                 Saves a file from an URL or working tree path given\r
463                                                                 in <option>/path</option> to the location given in\r
464                                                                 <option>/savepath:path</option>. The revision is\r
465                                                                 given in <option>/revision:xxx</option>. This can\r
466                                                                 be used to get a file with a specific revision.\r
467                                                         </entry>\r
468                                                 </row>\r
469 <!--\r
470                                                 <row>\r
471                                                         <entry condition="pot">:createpatch</entry>\r
472                                                         <entry>\r
473                                                                 Creates a patch file for the path given in\r
474                                                                 <option>/path</option>.\r
475                                                         </entry>\r
476                                                 </row>\r
477 -->\r
478                                                 <row>\r
479                                                         <entry condition="pot">:pull</entry>\r
480                                                         <entry>\r
481                                                                 Opens the <link linkend="tgit-dug-pull">pull dialog</link> in the working tree located in\r
482                                                                 <option>/path</option>.\r
483                                                         </entry>\r
484                                                 </row>\r
485                                                 <row>\r
486                                                         <entry condition="pot">:push</entry>\r
487                                                         <entry>\r
488                                                                 Opens the <link linkend="tgit-dug-push">push dialog</link> in the working tree located in\r
489                                                                 <option>/path</option>.\r
490                                                         </entry>\r
491                                                 </row>\r
492                                                 <row>\r
493                                                         <entry condition="pot">:rebase</entry>\r
494                                                         <entry>\r
495                                                                 Opens the <link linkend="tgit-dug-rebase">rebase dialog</link> for the working tree located in\r
496                                                                 <option>/path</option>.\r
497                                                         </entry>\r
498                                                 </row>\r
499                                                 <row>\r
500                                                         <entry condition="pot">:stashsave</entry>\r
501                                                         <entry>\r
502                                                                 Opens the <link linkend="tgit-dug-stash">stash save dialog</link> for the working tree located in\r
503                                                                 <option>/path</option>. A prefilled mesage can be achieved by using the <option>/msg</option> parameter.\r
504                                                         </entry>\r
505                                                 </row>\r
506                                                 <row>\r
507                                                         <entry condition="pot">:stashapply</entry>\r
508                                                         <entry>\r
509                                                                 Applies to latest stash to the working tree located in\r
510                                                                 <option>/path</option>.\r
511                                                         </entry>\r
512                                                 </row>\r
513                                                 <row>\r
514                                                         <entry condition="pot">:stashpop</entry>\r
515                                                         <entry>\r
516                                                                 Applies to latest stash to the working tree located in\r
517                                                                 <option>/path</option> and drops the latest stash entry.\r
518                                                         </entry>\r
519                                                 </row>\r
520                                                 <row>\r
521                                                         <entry condition="pot">:subadd</entry>\r
522                                                         <entry>\r
523                                                                 Opens the <link linkend="tgit-dug-submodules">submodule add dialog</link>.\r
524                                                                 <option>/path</option>.\r
525                                                         </entry>\r
526                                                 </row>\r
527                                                 <row>\r
528                                                         <entry condition="pot">:subupdate</entry>\r
529                                                         <entry>\r
530                                                                 Opens the <link linkend="tgit-dug-submodules">submodule update dialog</link> for and filters the submodules regarding the folder\r
531                                                                 <option>/path</option>.\r
532                                                         </entry>\r
533                                                 </row>\r
534                                                 <row>\r
535                                                         <entry condition="pot">:subsync</entry>\r
536                                                         <entry>\r
537                                                                 Syncs the submodule information for the working tree located in\r
538                                                                 <option>/path</option>.\r
539                                                         </entry>\r
540                                                 </row>\r
541                                                 <row>\r
542                                                         <entry condition="pot">:reflog</entry>\r
543                                                         <entry>\r
544                                                                 Opens the reflog dialog for the repository located in <option>/path</option>.\r
545                                                         </entry>\r
546                                                 </row>\r
547                                                 <row>\r
548                                                         <entry condition="pot">:refbrowse</entry>\r
549                                                         <entry>\r
550                                                                 Opens the <link linkend="tgit-dug-browse-ref">browse references dialog</link> for the repository located in\r
551                                                                 <option>/path</option>.\r
552                                                         </entry>\r
553                                                 </row>\r
554                                                 <row>\r
555                                                         <entry condition="pot">:updatecheck</entry>\r
556                                                         <entry>\r
557                                                                 <option>/visible</option>: Shows the dialog even if no newer TortoiseGit version is available.\r
558                                                                 <option>/force</option>: Shows file list for download even if the latest TortoiseGit has been installed.\r
559                                                         </entry>\r
560                                                 </row>\r
561                                                 <row>\r
562                                                         <entry condition="pot">:revisiongraph</entry>\r
563                                                         <entry>\r
564                                                                 Shows the <link linkend="tgit-dug-revgraph">revision graph</link> for the repository given in\r
565                                                                 <option>/path</option>.\r
566                                                                 <para>\r
567                                                                 To create an image file of the revision graph for a specific path, but\r
568                                                                 without showing the graph window, pass <option>/output:path</option>\r
569                                                                 with the path to the output file. The output file must have\r
570                                                                 an extension that the revision graph can actually\r
571                                                                 export to. These are:\r
572                                                                 <literal>.svg</literal>,\r
573                                                                 <literal>.wmf</literal>,\r
574                                                                 <literal>.gv</literal>,\r
575                                                                 <literal>.png</literal>,\r
576                                                                 <literal>.jpg</literal>,\r
577                                                                 <literal>.bmp</literal> and\r
578                                                                 <literal>.gif</literal>.\r
579                                                                 </para>\r
580                                                         </entry>\r
581                                                 </row>\r
582                                                 <row>\r
583                                                         <entry condition="pot">:daemon</entry>\r
584                                                         <entry>\r
585                                                                 Launches the <link linkend="tgit-dug-daemon">Git Daemon</link> for the repository given in\r
586                                                                 <option>/path</option>.\r
587                                                         </entry>\r
588                                                 </row>\r
589                                                 <row>\r
590                                                         <entry condition="pot">:pgpfp</entry>\r
591                                                         <entry>\r
592                                                                 Prints the TortoiseGit Release Signing Key fingerprint. If you trust the current TortoiseGit installation, this can be used as a trust anchor to future releases.\r
593                                                         </entry>\r
594                                                 </row>\r
595                                                 <!--\r
596                                                 <row>\r
597                                                         <entry condition="pot">:rebuildiconcache</entry>\r
598                                                         <entry>\r
599                                                                 Rebuilds the windows icon cache. Only use this in\r
600                                                                 case the windows icons are corrupted. A side effect\r
601                                                                 of this (which can't be avoided) is that the icons\r
602                                                                 on the desktop get rearranged.\r
603                                                                 To suppress the message box, pass <option>/noquestion</option>.\r
604                                                         </entry>\r
605                                                 </row>\r
606                                                 -->\r
607                                                 <row>\r
608                                                         <entry condition="pot">:tag</entry>\r
609                                                         <entry>\r
610                                                                 Opens the <link linkend="tgit-dug-branchtag">Create Tag dialog</link>. The <option>/path</option> specifies the\r
611                                                                 repository folder.\r
612                                                                 Additional options can be set:\r
613                                                                 <option>/rev:"ref"</option> tags on the specified ref/commit,\r
614                                                                 <option>/name:"tag_name"</option> fills the Tag name in Create Tag dialog.\r
615                                                         </entry>\r
616                                                 </row>\r
617                                         </tbody>\r
618                                 </tgroup>\r
619                         </table>\r
620                 </para>\r
621                 <para>\r
622                         Examples (which should be entered on one line):\r
623 <screen>\r
624 TortoiseGitProc.exe /command:commit\r
625                  /path:"d:\git_wc\file1.txt*c:\git_wc\file2.txt"\r
626                  /logmsg:"test log message" /closeonend:2\r
628 TortoiseGitProc.exe /command:log /path:"c:\git_wc\file1.txt"\r
629                  /startrev:master~100 /endrev:master\r
630 </screen>\r
631                 </para>\r
632                 <para>\r
633                         <tip>\r
634                                 <para>\r
635                                         When calling TortoiseGit from within the msys environment, you can also use more *nix style command line parameters:\r
636                                         <screen>\r
637 TortoiseGitProc.exe -command commit\r
638                     -path "d:\git_wc\file1.txt*c:\git_wc\file2.txt"\r
639                     -logmsg "test log message" -closeonend 2\r
640                                         </screen>\r
641                                 </para>\r
642                         </tip>\r
643                 </para>\r
644         </sect1>\r
646         <sect1 id="tgit-automation-idiff">\r
647                 <title>TortoiseGitIDiff Commands</title>\r
648                 <indexterm>\r
649                         <primary>automation</primary>\r
650                 </indexterm>\r
651                 <indexterm>\r
652                         <primary>command line</primary>\r
653                 </indexterm>\r
654                 <para>\r
655                         The image diff tool has a few command line options which you\r
656                         can use to control how the tool is started.\r
657                         The program is called <literal>TortoiseGitIDiff.exe</literal>.\r
658                 </para>\r
659                 <para>\r
660                         The table below lists all the options which can be passed\r
661                         to the image diff tool on the command line.\r
662                 </para>\r
663 <!--\r
664 ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION\r
665 Don't touch these lines:\r
666 <entry condition="pot">:about</entry>\r
668   The condition="pot" prevents the strings from being extracted into\r
669         the .pot file, so nobody translates them.\r
670   The colons in front of the command have to stay there to prevent these strings\r
671   from being translated if the po file "by chance" contains a matching translation.\r
672 -->\r
673                 <para>\r
674                         <table id="tgit-automation-idiff-1-table">\r
675                                 <title>List of available options</title>\r
676                                 <tgroup cols="2">\r
677                                         <colspec colnum="1" colwidth="2*"/>\r
678                                         <colspec colnum="2" colwidth="6*"/>\r
679                                         <thead>\r
680                                                 <row>\r
681                                                         <entry>Option</entry>\r
682                                                         <entry>Description</entry>\r
683                                                 </row>\r
684                                         </thead>\r
685                                         <tbody>\r
686                                                 <row>\r
687                                                         <entry condition="pot">:left</entry>\r
688                                                         <entry>\r
689                                                                 Path to the file shown on the left.\r
690                                                         </entry>\r
691                                                 </row>\r
692                                                 <row>\r
693                                                         <entry condition="pot">:lefttitle</entry>\r
694                                                         <entry>\r
695                                                                 A title string. This string is used in the image view\r
696                                                                 title instead of the full path to the image file.\r
697                                                         </entry>\r
698                                                 </row>\r
699                                                 <row>\r
700                                                         <entry condition="pot">:right</entry>\r
701                                                         <entry>\r
702                                                                 Path to the file shown on the right.\r
703                                                         </entry>\r
704                                                 </row>\r
705                                                 <row>\r
706                                                         <entry condition="pot">:righttitle</entry>\r
707                                                         <entry>\r
708                                                                 A title string. This string is used in the image view\r
709                                                                 title instead of the full path to the image file.\r
710                                                         </entry>\r
711                                                 </row>\r
712                                                 <row>\r
713                                                         <entry condition="pot">:overlay</entry>\r
714                                                         <entry>\r
715                                                                 If specified, the image diff tool switches\r
716                                                                 to the overlay mode (alpha blend).\r
717                                                         </entry>\r
718                                                 </row>\r
719                                                 <row>\r
720                                                         <entry condition="pot">:fit</entry>\r
721                                                         <entry>\r
722                                                                 If specified, the image diff tool fits both\r
723                                                                 images together.\r
724                                                         </entry>\r
725                                                 </row>\r
726                                                 <row>\r
727                                                         <entry condition="pot">:showinfo</entry>\r
728                                                         <entry>\r
729                                                                 Shows the image info box.\r
730                                                         </entry>\r
731                                                 </row>\r
732                                         </tbody>\r
733                                 </tgroup>\r
734                         </table>\r
735                 </para>\r
736                 <para>\r
737                         Example (which should be entered on one line):\r
738 <screen>\r
739 TortoiseGitIDiff.exe /left:"c:\images\img1.jpg" /lefttitle:"image 1"\r
740                   /right:"c:\images\img2.jpg" /righttitle:"image 2"\r
741                   /fit /overlay\r
742 </screen>\r
743                 </para>\r
744         </sect1>\r
746 </appendix>\r