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
7 This appendix contains solutions to problems/questions you might
\r
8 have when you are responsible for deploying TortoiseGit to multiple
\r
12 <sect1 id="tsvn-admins-grouppolicies">
\r
13 <title>Deploy TortoiseGit via group policies</title>
\r
15 <primary>group policies</primary>
\r
18 <primary>GPO</primary>
\r
21 <primary>msi</primary>
\r
24 <primary>domain controller</primary>
\r
27 <primary>deploy</primary>
\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
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
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 11 from Microsoft on each
\r
49 computer you want to install TortoiseGit as per user.
\r
52 <sect1 id="tsvn-admins-upgradecheck">
\r
53 <title>Redirect the upgrade check</title>
\r
55 <primary>upgrade check</primary>
\r
58 <primary>check new version</primary>
\r
61 <primary>version</primary>
\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
68 <figure id="tsvn-admins-dia1">
\r
69 <title>The upgrade dialog</title>
\r
70 <graphic fileref="images/upgradecheck.png"/>
\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
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
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
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
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
114 <sect1 id="tsvn-admins-disablemenus">
\r
115 <title>Disable context menu entries</title>
\r
117 <primary>context menu entries</primary>
\r
120 <primary>disable functions</primary>
\r
123 <primary>group policies</primary>
\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
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
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
146 <table id="tsvn-admins-disablemenus-1-table">
\r
147 <title>Menu entries and their values</title>
\r
149 <colspec colnum="1" colwidth="2*"/>
\r
150 <colspec colnum="2" colwidth="6*"/>
\r
153 <entry>Value</entry>
\r
154 <entry>Menu entry</entry>
\r
159 <entry condition="pot">0x0000000000000002</entry>
\r
160 <entry>Sync</entry>
\r
163 <entry condition="pot">0x0000000000000004</entry>
\r
164 <entry>Commit</entry>
\r
167 <entry condition="pot">0x0000000000000008</entry>
\r
171 <entry condition="pot">0x0000000000000010</entry>
\r
172 <entry>Revert</entry>
\r
175 <entry condition="pot">0x0000000000000020</entry>
\r
176 <entry>Cleanup</entry>
\r
179 <entry condition="pot">0x0000000000000040</entry>
\r
180 <entry>Resolve</entry>
\r
183 <entry condition="pot">0x0000000000000080</entry>
\r
184 <entry>Switch/Checkout</entry>
\r
187 <entry condition="pot">0x0000000000000100</entry>
\r
188 <entry>Sendmail</entry>
\r
191 <entry condition="pot">0x0000000000000200</entry>
\r
192 <entry>Export</entry>
\r
195 <entry condition="pot">0x0000000000000400</entry>
\r
196 <entry>Create Repository here</entry>
\r
199 <entry condition="pot">0x0000000000000800</entry>
\r
200 <entry>Branch/Tag</entry>
\r
203 <entry condition="pot">0x0000000000001000</entry>
\r
204 <entry>Merge</entry>
\r
207 <entry condition="pot">0x0000000000002000</entry>
\r
208 <entry>Delete</entry>
\r
211 <entry condition="pot">0x0000000000004000</entry>
\r
212 <entry>Rename</entry>
\r
215 <entry condition="pot">0x0000000000008000</entry>
\r
216 <entry>Submodule Update</entry>
\r
219 <entry condition="pot">0x0000000000010000</entry>
\r
220 <entry>Diff</entry>
\r
223 <entry condition="pot">0x0000000000020000</entry>
\r
224 <entry>Show Log</entry>
\r
227 <entry condition="pot">0x0000000000040000</entry>
\r
228 <entry>Edit Conflicts</entry>
\r
231 <entry condition="pot">0x0000000000080000</entry>
\r
232 <entry>Refence Browse</entry>
\r
236 <entry condition="pot">0x0000000000100000</entry>
\r
237 <entry>Check for modifications</entry>
\r
240 <entry condition="pot">0x0000000000200000</entry>
\r
241 <entry>Ignore</entry>
\r
244 <entry condition="pot">0x0000000000400000</entry>
\r
245 <entry>RefLog</entry>
\r
248 <entry condition="pot">0x0000000000800000</entry>
\r
249 <entry>Blame</entry>
\r
252 <entry condition="pot">0x0000000001000000</entry>
\r
253 <entry>Repository Browser</entry>
\r
256 <entry condition="pot">0x0000000002000000</entry>
\r
257 <entry>Apply Patch</entry>
\r
260 <entry condition="pot">0x0000000004000000</entry>
\r
261 <entry>Delete (keep local)</entry>
\r
264 <entry condition="pot">0x0000000008000000</entry>
\r
265 <entry>SVN Rebase</entry>
\r
268 <entry condition="pot">0x0000000010000000</entry>
\r
269 <entry>SVN DCommit</entry>
\r
272 <entry condition="pot">0x0000000040000000</entry>
\r
273 <entry>SVN Ignore</entry>
\r
276 <entry condition="pot">0x0000000100000000</entry>
\r
277 <entry>Log of Submodule folder</entry>
\r
280 <entry condition="pot">0x0000000200000000</entry>
\r
281 <entry>Rev Diff</entry>
\r
284 <entry condition="pot">0x0000000800000000</entry>
\r
285 <entry>Pull</entry>
\r
288 <entry condition="pot">0x0000001000000000</entry>
\r
289 <entry>Push</entry>
\r
292 <entry condition="pot">0x0000002000000000</entry>
\r
293 <entry>Clone</entry>
\r
296 <entry condition="pot">0x0000004000000000</entry>
\r
300 <entry condition="pot">0x0000008000000000</entry>
\r
301 <entry>Format Patch</entry>
\r
304 <entry condition="pot">0x0000010000000000</entry>
\r
305 <entry>Import Patch</entry>
\r
308 <entry condition="pot">0x0000040000000000</entry>
\r
309 <entry>Fetch</entry>
\r
312 <entry condition="pot">0x0000080000000000</entry>
\r
313 <entry>Rebase</entry>
\r
316 <entry condition="pot">0x0000100000000000</entry>
\r
317 <entry>Stash Save</entry>
\r
320 <entry condition="pot">0x0000200000000000</entry>
\r
321 <entry>Stash Apply</entry>
\r
324 <entry condition="pot">0x0000400000000000</entry>
\r
325 <entry>Stash List</entry>
\r
328 <entry condition="pot">0x0000800000000000</entry>
\r
329 <entry>Submodule Add</entry>
\r
332 <entry condition="pot">0x0001000000000000</entry>
\r
333 <entry>Submodule Sync</entry>
\r
336 <entry condition="pot">0x0002000000000000</entry>
\r
337 <entry>Stash Pop</entry>
\r
340 <entry condition="pot">0x0004000000000000</entry>
\r
341 <entry>Diff two files</entry>
\r
344 <entry condition="pot">0x0008000000000000</entry>
\r
345 <entry>Bisect start</entry>
\r
348 <entry condition="pot">0x0010000000000000</entry>
\r
349 <entry>Bisect good</entry>
\r
352 <entry condition="pot">0x0020000000000000</entry>
\r
353 <entry>Bisect bad</entry>
\r
356 <entry condition="pot">0x0040000000000000</entry>
\r
357 <entry>Bisect reset</entry>
\r
360 <entry condition="pot">0x0080000000000000</entry>
\r
361 <entry>SVN Fetch</entry>
\r
364 <entry condition="pot">0x2000000000000000</entry>
\r
365 <entry>Settings</entry>
\r
368 <entry condition="pot">0x4000000000000000</entry>
\r
369 <entry>Help</entry>
\r
372 <entry condition="pot">0x8000000000000000</entry>
\r
373 <entry>About</entry>
\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
386 + 0x0000080000000000
\r
387 + 0x2000000000000000
\r
388 = 0x2000080000000100
\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
397 To enable the menu entries again, simply delete the two registry keys.
\r