45e74dd98fe58eba06400359fb890638e8c93a82
[TortoiseGit.git] / doc / source / en / TortoiseGit / tsvn_app_admins.xml
blob45e74dd98fe58eba06400359fb890638e8c93a82
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE appendix SYSTEM "../../dtd/dblite.dtd">\r
3 <appendix id="tsvn-admins" xmlns:xi="http://www.w3.org/2001/XInclude">\r
4         <title>Useful Tips For Administrators</title>\r
5         <simplesect>\r
6                 <para>\r
7                         This appendix contains solutions to problems/questions you might\r
8                         have when you are responsible for deploying TortoiseGit to multiple\r
9                         client computers.\r
10                 </para>\r
11         </simplesect>\r
12         <sect1 id="tsvn-admins-grouppolicies">\r
13                 <title>Deploy TortoiseGit via group policies</title>\r
14                 <indexterm>\r
15                         <primary>group policies</primary>\r
16                 </indexterm>\r
17                 <indexterm>\r
18                         <primary>GPO</primary>\r
19                 </indexterm>\r
20                 <indexterm>\r
21                         <primary>msi</primary>\r
22                 </indexterm>\r
23                 <indexterm>\r
24                         <primary>domain controller</primary>\r
25                 </indexterm>\r
26                 <indexterm>\r
27                         <primary>deploy</primary>\r
28                 </indexterm>\r
29                 <para>\r
30                         The TortoiseGit installer comes as an MSI file, which means you\r
31                         should have no problems adding that MSI file to the group policies\r
32                         of your domain controller.\r
33                 </para>\r
34                 <para>\r
35                         A good walk-through on how to do that can be found in the knowledge\r
36                         base article 314934 from Microsoft:\r
37                         <ulink url="http://support.microsoft.com/?kbid=314934">\r
38                                 <citetitle>http://support.microsoft.com/?kbid=314934</citetitle>\r
39                         </ulink>.\r
40                 </para>\r
41                 <para>\r
42                         Versions 0.3.0 and later of TortoiseGit must be installed under\r
43                         <emphasis>Computer Configuration</emphasis> and not under\r
44                         <emphasis>User Configuration</emphasis>. This is because those versions\r
45                         need the new CRT and MFC DLLs, which can only be deployed <emphasis>per\r
46                         computer</emphasis> and not <emphasis>per user</emphasis>.\r
47                         If you really must install TortoiseGit on a per user basis, then you must\r
48                         first install the MFC and CRT package version 9 from Microsoft on each\r
49                         computer you want to install TortoiseGit as per user.\r
50                 </para>\r
51         </sect1>\r
52         <sect1 id="tsvn-admins-upgradecheck">\r
53                 <title>Redirect the upgrade check</title>\r
54                 <indexterm>\r
55                         <primary>upgrade check</primary>\r
56                 </indexterm>\r
57                 <indexterm>\r
58                         <primary>check new version</primary>\r
59                 </indexterm>\r
60                 <indexterm>\r
61                         <primary>version</primary>\r
62                 </indexterm>\r
63                 <para>\r
64                         TortoiseGit checks if there's a new version available every week (or daily in a preview release).\r
65                         If there is a newer version available, a dialog shows up informing\r
66                         the user about that and allows to download/install a new version.\r
67                 </para>\r
68                 <figure id="tsvn-admins-dia1">\r
69                         <title>The upgrade dialog</title>\r
70                         <graphic fileref="images/upgradecheck.png"/>\r
71                 </figure>\r
72                 <para>\r
73                         If you're responsible for a lot of users in your domain, you might want\r
74                         your users to use only versions you have approved and not have them install\r
75                         always the latest version (or to save bandwidth). You probably don't want that upgrade dialog\r
76                         to show up so your users don't go and upgrade immediately.\r
77                 </para>\r
78                 <para>\r
79                         TortoiseGit allow you to redirect that upgrade\r
80                         check to your intranet server. You can set the registry key\r
81                         <filename>HKCU\Software\TortoiseGit\UpdateCheckURL</filename> OR <filename>HKLM\Software\TortoiseGit\UpdateCheckURL</filename> (string value, HKCU overrides HKLM)\r
82                         to an URL pointing to a text file in your intranet (default is <ulink url="http://version.tortoisegit.googlecode.com/git/version.txt">http://version.tortoisegit.googlecode.com/git/version.txt</ulink>). That text file must have\r
83                         the following format:\r
84 <screen>\r
85 X.X.X.X\r
86 A new version of TortoiseGit is available for you to download!\r
87 http://192.168.2.1/downloads/TortoiseGit/info.htm\r
88 http://192.168.2.1/downloads/TortoiseGit/TortoiseGit-1.4.1.6000-changelog.txt\r
89 http://192.168.2.1/downloads/TortoiseGit/\r
90 1029;cs\r
91 1031;de\r
92 </screen>\r
93                         The first line in that file is the version string. You must make sure that\r
94                         it matches the exact version string of the TortoiseGit installation package.\r
95                         The second line is a custom text, shown in the upgrade dialog. You can write\r
96                         there whatever you want (can also be left empty). Just note that the space in the upgrade dialog is\r
97                         limited. Too long messages will get truncated!\r
98                         The third line is the URL which is opened when\r
99                         when the user clicks on the (custom) message label in the upgrade dialog.\r
100                         The URL is opened with the default web browser, so if you specify a web page,\r
101                         that page is opened and shown to the user.\r
102                         The fourth line contains the URL to the Changelog or release notes which are displayed in the upgrade dialog (if empty it defaults to <ulink url="http://tortoisegit.googlecode.com/git/src/Changelog.txt">http://tortoisegit.googlecode.com/git/src/Changelog.txt</ulink>)\r
103                         The fifth line is used to override the base path to the installation packages (if empty it defaults to http://tortoisegit.googlecode.com/files/).\r
104                         The filenames are generated as follows: TortoiseGit-(version)-(32|64)bit.msi for the main installer\r
105                         and TortoiseGit-LanguagePack-(version)-(32|64)bit-(cs|de|...).msi for the language packs.\r
106                         Starting from this line, one can advertise language packs (one per line: Four digit country code;ISO Country code).\r
107                 </para>\r
108                 <para>\r
109                         Clicking on <guibutton>Download</guibutton> downloads the selected files to <filename><ulink url="http://msdn.microsoft.com/en-us/library/windows/desktop/dd378457%28v=vs.85%29.aspx">FOLDERID_Downloads</ulink></filename> (Vista or later) or\r
110                         <filename><ulink url="http://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx">CSIDL_PERSONAL</ulink>\Downloads</filename> or <filename>CSIDL_PERSONAL</filename>.\r
111                         After downloading the digital signature is verified - the file is only kept if the file is digitally signed and could be verified correctly.\r
112                 </para>\r
113         </sect1>\r
114         <sect1 id="tsvn-admins-disablemenus">\r
115                 <title>Disable context menu entries</title>\r
116                 <indexterm>\r
117                         <primary>context menu entries</primary>\r
118                 </indexterm>\r
119                 <indexterm>\r
120                         <primary>disable functions</primary>\r
121                 </indexterm>\r
122                 <indexterm>\r
123                         <primary>group policies</primary>\r
124                 </indexterm>\r
125                 <para>\r
126                         TortoiseGit allows you to disable (actually, hide)\r
127                         context menu entries. Since this is a feature which should not be used lightly\r
128                         but only if there is a compelling reason, there is no GUI for this and it has\r
129                         to be done directly in the registry.\r
130                         This can be used to disable certain commands for users who should not use them.\r
131                         But please note that only the context menu entries in the <emphasis>explorer</emphasis>\r
132                         are hidden, and the commands are still available through other means, e.g. the\r
133                         command line or even other dialogs in TortoiseGit itself!\r
134                 </para>\r
135                 <para>\r
136                         The registry keys which hold the information on which context menus to show are\r
137                         <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskLow</filename>\r
138                         and <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskHigh</filename>.\r
139                 </para>\r
140                 <para>\r
141                         Each of these registry entries is a <literal>DWORD</literal> value, with each\r
142                         bit corresponding to a specific menu entry. A set bit means the corresponding\r
143                         menu entry is deactivated.\r
144                 </para>\r
145                 <para>\r
146                         <table id="tsvn-admins-disablemenus-1-table">\r
147                                 <title>Menu entries and their values</title>\r
148                                 <tgroup cols="2">\r
149                                         <colspec colnum="1" colwidth="2*"/>\r
150                                         <colspec colnum="2" colwidth="6*"/>\r
151                                         <thead>\r
152                                                 <row>\r
153                                                         <entry>Value</entry>\r
154                                                         <entry>Menu entry</entry>\r
155                                                 </row>\r
156                                         </thead>\r
157                                         <tbody>\r
158                                                 <row>\r
159                                                         <entry condition="pot">0x0000000000000002</entry>\r
160                                                         <entry>Sync</entry>\r
161                                                 </row>\r
162                                                 <row>\r
163                                                         <entry condition="pot">0x0000000000000004</entry>\r
164                                                         <entry>Commit</entry>\r
165                                                 </row>\r
166                                                 <row>\r
167                                                         <entry condition="pot">0x0000000000000008</entry>\r
168                                                         <entry>Add</entry>\r
169                                                 </row>\r
170                                                 <row>\r
171                                                         <entry condition="pot">0x0000000000000010</entry>\r
172                                                         <entry>Revert</entry>\r
173                                                 </row>\r
174                                                 <row>\r
175                                                         <entry condition="pot">0x0000000000000020</entry>\r
176                                                         <entry>Cleanup</entry>\r
177                                                 </row>\r
178                                                 <row>\r
179                                                         <entry condition="pot">0x0000000000000040</entry>\r
180                                                         <entry>Resolve</entry>\r
181                                                 </row>\r
182                                                 <row>\r
183                                                         <entry condition="pot">0x0000000000000080</entry>\r
184                                                         <entry>Switch/Checkout</entry>\r
185                                                 </row>\r
186                                                 <row>\r
187                                                         <entry condition="pot">0x0000000000000100</entry>\r
188                                                         <entry>Sendmail</entry>\r
189                                                 </row>\r
190                                                 <row>\r
191                                                         <entry condition="pot">0x0000000000000200</entry>\r
192                                                         <entry>Export</entry>\r
193                                                 </row>\r
194                                                 <row>\r
195                                                         <entry condition="pot">0x0000000000000400</entry>\r
196                                                         <entry>Create Repository here</entry>\r
197                                                 </row>\r
198                                                 <row>\r
199                                                         <entry condition="pot">0x0000000000000800</entry>\r
200                                                         <entry>Branch/Tag</entry>\r
201                                                 </row>\r
202                                                 <row>\r
203                                                         <entry condition="pot">0x0000000000001000</entry>\r
204                                                         <entry>Merge</entry>\r
205                                                 </row>\r
206                                                 <row>\r
207                                                         <entry condition="pot">0x0000000000002000</entry>\r
208                                                         <entry>Delete</entry>\r
209                                                 </row>\r
210                                                 <row>\r
211                                                         <entry condition="pot">0x0000000000004000</entry>\r
212                                                         <entry>Rename</entry>\r
213                                                 </row>\r
214                                                 <row>\r
215                                                         <entry condition="pot">0x0000000000008000</entry>\r
216                                                         <entry>Submodule Update</entry>\r
217                                                 </row>\r
218                                                 <row>\r
219                                                         <entry condition="pot">0x0000000000010000</entry>\r
220                                                         <entry>Diff</entry>\r
221                                                 </row>\r
222                                                 <row>\r
223                                                         <entry condition="pot">0x0000000000020000</entry>\r
224                                                         <entry>Show Log</entry>\r
225                                                 </row>\r
226                                                 <row>\r
227                                                         <entry condition="pot">0x0000000000040000</entry>\r
228                                                         <entry>Edit Conflicts</entry>\r
229                                                 </row>\r
230                                                 <row>\r
231                                                         <entry condition="pot">0x0000000000080000</entry>\r
232                                                         <entry>Refence Browse</entry>\r
233                                                 </row>\r
234                                                 \r
235                                                 <row>\r
236                                                         <entry condition="pot">0x0000000000100000</entry>\r
237                                                         <entry>Check for modifications</entry>\r
238                                                 </row>\r
239                                                 <row>\r
240                                                         <entry condition="pot">0x0000000000200000</entry>\r
241                                                         <entry>Ignore</entry>\r
242                                                 </row>\r
243                                                 <row>\r
244                                                         <entry condition="pot">0x0000000000400000</entry>\r
245                                                         <entry>RefLog</entry>\r
246                                                 </row>\r
247                                                 <row>\r
248                                                         <entry condition="pot">0x0000000000800000</entry>\r
249                                                         <entry>Blame</entry>\r
250                                                 </row>\r
251                                                 <row>\r
252                                                         <entry condition="pot">0x0000000001000000</entry>\r
253                                                         <entry>Repository Browser</entry>\r
254                                                 </row>\r
255                                                 <row>\r
256                                                         <entry condition="pot">0x0000000002000000</entry>\r
257                                                         <entry>Apply Patch</entry>\r
258                                                 </row>\r
259                                                 <row>\r
260                                                         <entry condition="pot">0x0000000004000000</entry>\r
261                                                         <entry>Delete (keep local)</entry>\r
262                                                 </row>\r
263                                                 <row>\r
264                                                         <entry condition="pot">0x0000000008000000</entry>\r
265                                                         <entry>SVN Rebase</entry>\r
266                                                 </row>\r
267                                                 <row>\r
268                                                         <entry condition="pot">0x0000000010000000</entry>\r
269                                                         <entry>SVN DCommit</entry>\r
270                                                 </row>\r
271                                                 <row>\r
272                                                         <entry condition="pot">0x0000000040000000</entry>\r
273                                                         <entry>SVN Ignore</entry>\r
274                                                 </row>\r
275                                                 <row>\r
276                                                         <entry condition="pot">0x0000000100000000</entry>\r
277                                                         <entry>Log of Submodule folder</entry>\r
278                                                 </row>\r
279                                                 <row>\r
280                                                         <entry condition="pot">0x0000000200000000</entry>\r
281                                                         <entry>Rev Diff</entry>\r
282                                                 </row>\r
283                                                 <row>\r
284                                                         <entry condition="pot">0x0000000800000000</entry>\r
285                                                         <entry>Pull</entry>\r
286                                                 </row>\r
287                                                 <row>\r
288                                                         <entry condition="pot">0x0000001000000000</entry>\r
289                                                         <entry>Push</entry>\r
290                                                 </row>\r
291                                                 <row>\r
292                                                         <entry condition="pot">0x0000002000000000</entry>\r
293                                                         <entry>Clone</entry>\r
294                                                 </row>\r
295                                                 <row>\r
296                                                         <entry condition="pot">0x0000004000000000</entry>\r
297                                                         <entry>Tag</entry>\r
298                                                 </row>\r
299                                                 <row>\r
300                                                         <entry condition="pot">0x0000008000000000</entry>\r
301                                                         <entry>Format Patch</entry>\r
302                                                 </row>\r
303                                                 <row>\r
304                                                         <entry condition="pot">0x0000010000000000</entry>\r
305                                                         <entry>Import Patch</entry>\r
306                                                 </row>\r
307                                                 <row>\r
308                                                         <entry condition="pot">0x0000040000000000</entry>\r
309                                                         <entry>Fetch</entry>\r
310                                                 </row>\r
311                                                 <row>\r
312                                                         <entry condition="pot">0x0000080000000000</entry>\r
313                                                         <entry>Rebase</entry>\r
314                                                 </row>\r
315                                                 <row>\r
316                                                         <entry condition="pot">0x0000100000000000</entry>\r
317                                                         <entry>Stash Save</entry>\r
318                                                 </row>\r
319                                                 <row>\r
320                                                         <entry condition="pot">0x0000200000000000</entry>\r
321                                                         <entry>Stash Apply</entry>\r
322                                                 </row>\r
323                                                 <row>\r
324                                                         <entry condition="pot">0x0000400000000000</entry>\r
325                                                         <entry>Stash List</entry>\r
326                                                 </row>\r
327                                                 <row>\r
328                                                         <entry condition="pot">0x0000800000000000</entry>\r
329                                                         <entry>Submodule Add</entry>\r
330                                                 </row>\r
331                                                 <row>\r
332                                                         <entry condition="pot">0x0001000000000000</entry>\r
333                                                         <entry>Submodule Sync</entry>\r
334                                                 </row>\r
335                                                 <row>\r
336                                                         <entry condition="pot">0x0002000000000000</entry>\r
337                                                         <entry>Stash Pop</entry>\r
338                                                 </row>\r
339                                                 <row>\r
340                                                         <entry condition="pot">0x0004000000000000</entry>\r
341                                                         <entry>Diff two files</entry>\r
342                                                 </row>\r
343                                                 <row>\r
344                                                         <entry condition="pot">0x0008000000000000</entry>\r
345                                                         <entry>Bisect start</entry>\r
346                                                 </row>\r
347                                                 <row>\r
348                                                         <entry condition="pot">0x0010000000000000</entry>\r
349                                                         <entry>Bisect good</entry>\r
350                                                 </row>\r
351                                                 <row>\r
352                                                         <entry condition="pot">0x0020000000000000</entry>\r
353                                                         <entry>Bisect bad</entry>\r
354                                                 </row>\r
355                                                 <row>\r
356                                                         <entry condition="pot">0x0040000000000000</entry>\r
357                                                         <entry>Bisect reset</entry>\r
358                                                 </row>\r
359                                                 <row>\r
360                                                         <entry condition="pot">0x0080000000000000</entry>\r
361                                                         <entry>SVN Fetch</entry>\r
362                                                 </row>\r
363                                                 <row>\r
364                                                         <entry condition="pot">0x2000000000000000</entry>\r
365                                                         <entry>Settings</entry>\r
366                                                 </row>\r
367                                                 <row>\r
368                                                         <entry condition="pot">0x4000000000000000</entry>\r
369                                                         <entry>Help</entry>\r
370                                                 </row>\r
371                                                 <row>\r
372                                                         <entry condition="pot">0x8000000000000000</entry>\r
373                                                         <entry>About</entry>\r
374                                                 </row>\r
375                                         </tbody>\r
376                                 </tgroup>\r
377                         </table>\r
378                 </para>\r
379                 <para>\r
380                         Example: to disable the <quote>Sendmail</quote> the \r
381                         <quote>Rebase</quote>\r
382                         and the <quote>Settings</quote> menu entries, add the values assigned\r
383                         to the entries like this:\r
384 <screen>\r
385   0x0000000000000100\r
386 + 0x0000080000000000\r
387 + 0x2000000000000000\r
388 = 0x2000080000000100\r
389 </screen>\r
390                         The lower <literal>DWORD</literal> value (<literal>0x00000100</literal>)\r
391                         must then be stored in\r
392                         <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskLow</filename>,\r
393                         the higher <literal>DWORD</literal> value (<literal>0x20000800</literal>) in\r
394                         <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskHigh</filename>.\r
395                 </para>\r
396                 <para>\r
397                         To enable the menu entries again, simply delete the two registry keys.\r
398                 </para>\r
399         </sect1>\r
400 </appendix>\r