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 You can provide a default setting for the ssh client in
\r
53 <filename>HKLM\TortoiseGit\SSH</filename>.
\r
56 <sect1 id="tsvn-admins-upgradecheck">
\r
57 <title>Redirect the upgrade check</title>
\r
59 <primary>upgrade check</primary>
\r
62 <primary>check new version</primary>
\r
65 <primary>version</primary>
\r
68 TortoiseGit checks if there's a new version available every week (or daily in a preview release).
\r
69 If there is a newer version available, a dialog shows up informing
\r
70 the user about that and allows to download/install a new version.
\r
72 <figure id="tsvn-admins-dia1">
\r
73 <title>The upgrade dialog</title>
\r
74 <graphic fileref="images/upgradecheck.png"/>
\r
77 If you're responsible for a lot of users in your domain, you might want
\r
78 your users to use only versions you have approved and not have them install
\r
79 always the latest version (or to save bandwidth). You probably don't want that upgrade dialog
\r
80 to show up so your users don't go and upgrade immediately.
\r
83 TortoiseGit allow you to redirect that upgrade
\r
84 check to your intranet server. You can set the registry key
\r
85 <filename>HKCU\Software\TortoiseGit\UpdateCheckURL</filename> OR <filename>HKLM\Software\TortoiseGit\UpdateCheckURL</filename> (string value, HKCU overrides HKLM)
\r
86 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
87 the following format:
\r
90 A new version of TortoiseGit is available for you to download!
\r
91 http://192.168.2.1/downloads/TortoiseGit/info.htm
\r
92 http://192.168.2.1/downloads/TortoiseGit/TortoiseGit-1.4.1.6000-changelog.txt
\r
93 http://192.168.2.1/downloads/TortoiseGit/
\r
97 The first line in that file is the version string. You must make sure that
\r
98 it matches the exact version string of the TortoiseGit installation package.
\r
99 The second line is a custom text, shown in the upgrade dialog. You can write
\r
100 there whatever you want (can also be left empty). Just note that the space in the upgrade dialog is
\r
101 limited. Too long messages will get truncated!
\r
102 The third line is the URL which is opened when
\r
103 when the user clicks on the (custom) message label in the upgrade dialog.
\r
104 The URL is opened with the default web browser, so if you specify a web page,
\r
105 that page is opened and shown to the user.
\r
106 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
107 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
108 The filenames are generated as follows: TortoiseGit-(version)-(32|64)bit.msi for the main installer
\r
109 and TortoiseGit-LanguagePack-(version)-(32|64)bit-(cs|de|...).msi for the language packs.
\r
110 Starting from this line, one can advertise language packs (one per line: Four digit country code;ISO Country code).
\r
113 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
114 <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
115 After downloading the digital signature is verified - the file is only kept if the file is digitally signed and could be verified correctly.
\r
118 <sect1 id="tsvn-admins-disablemenus">
\r
119 <title>Disable context menu entries</title>
\r
121 <primary>context menu entries</primary>
\r
124 <primary>disable functions</primary>
\r
127 <primary>group policies</primary>
\r
130 TortoiseGit allows you to disable (actually, hide)
\r
131 context menu entries. Since this is a feature which should not be used lightly
\r
132 but only if there is a compelling reason, there is no GUI for this and it has
\r
133 to be done directly in the registry.
\r
134 This can be used to disable certain commands for users who should not use them.
\r
135 But please note that only the context menu entries in the <emphasis>explorer</emphasis>
\r
136 are hidden, and the commands are still available through other means, e.g. the
\r
137 command line or even other dialogs in TortoiseGit itself!
\r
140 The registry keys which hold the information on which context menus to show are
\r
141 <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskLow</filename>
\r
142 and <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskHigh</filename>.
\r
145 Each of these registry entries is a <literal>DWORD</literal> value, with each
\r
146 bit corresponding to a specific menu entry. A set bit means the corresponding
\r
147 menu entry is deactivated.
\r
150 <table id="tsvn-admins-disablemenus-1-table">
\r
151 <title>Menu entries and their values</title>
\r
153 <colspec colnum="1" colwidth="2*"/>
\r
154 <colspec colnum="2" colwidth="6*"/>
\r
157 <entry>Value</entry>
\r
158 <entry>Menu entry</entry>
\r
163 <entry condition="pot">0x0000000000000002</entry>
\r
164 <entry>Sync</entry>
\r
167 <entry condition="pot">0x0000000000000004</entry>
\r
168 <entry>Commit</entry>
\r
171 <entry condition="pot">0x0000000000000008</entry>
\r
175 <entry condition="pot">0x0000000000000010</entry>
\r
176 <entry>Revert</entry>
\r
179 <entry condition="pot">0x0000000000000020</entry>
\r
180 <entry>Cleanup</entry>
\r
183 <entry condition="pot">0x0000000000000040</entry>
\r
184 <entry>Resolve</entry>
\r
187 <entry condition="pot">0x0000000000000080</entry>
\r
188 <entry>Switch/Checkout</entry>
\r
191 <entry condition="pot">0x0000000000000100</entry>
\r
192 <entry>Sendmail</entry>
\r
195 <entry condition="pot">0x0000000000000200</entry>
\r
196 <entry>Export</entry>
\r
199 <entry condition="pot">0x0000000000000400</entry>
\r
200 <entry>Create Repository here</entry>
\r
203 <entry condition="pot">0x0000000000000800</entry>
\r
204 <entry>Branch/Tag</entry>
\r
207 <entry condition="pot">0x0000000000001000</entry>
\r
208 <entry>Merge</entry>
\r
211 <entry condition="pot">0x0000000000002000</entry>
\r
212 <entry>Delete</entry>
\r
215 <entry condition="pot">0x0000000000004000</entry>
\r
216 <entry>Rename</entry>
\r
219 <entry condition="pot">0x0000000000008000</entry>
\r
220 <entry>Submodule Update</entry>
\r
223 <entry condition="pot">0x0000000000010000</entry>
\r
224 <entry>Diff</entry>
\r
227 <entry condition="pot">0x0000000000020000</entry>
\r
228 <entry>Show Log</entry>
\r
231 <entry condition="pot">0x0000000000040000</entry>
\r
232 <entry>Edit Conflicts</entry>
\r
235 <entry condition="pot">0x0000000000080000</entry>
\r
236 <entry>Refence Browse</entry>
\r
240 <entry condition="pot">0x0000000000100000</entry>
\r
241 <entry>Check for modifications</entry>
\r
244 <entry condition="pot">0x0000000000200000</entry>
\r
245 <entry>Ignore</entry>
\r
248 <entry condition="pot">0x0000000000400000</entry>
\r
249 <entry>RefLog</entry>
\r
252 <entry condition="pot">0x0000000000800000</entry>
\r
253 <entry>Blame</entry>
\r
256 <entry condition="pot">0x0000000001000000</entry>
\r
257 <entry>Repository Browser</entry>
\r
260 <entry condition="pot">0x0000000002000000</entry>
\r
261 <entry>Apply Patch</entry>
\r
264 <entry condition="pot">0x0000000004000000</entry>
\r
265 <entry>Delete (keep local)</entry>
\r
268 <entry condition="pot">0x0000000008000000</entry>
\r
269 <entry>SVN Rebase</entry>
\r
272 <entry condition="pot">0x0000000010000000</entry>
\r
273 <entry>SVN DCommit</entry>
\r
276 <entry condition="pot">0x0000000040000000</entry>
\r
277 <entry>SVN Ignore</entry>
\r
280 <entry condition="pot">0x0000000100000000</entry>
\r
281 <entry>Log of Submodule folder</entry>
\r
284 <entry condition="pot">0x0000000200000000</entry>
\r
285 <entry>Rev Diff</entry>
\r
288 <entry condition="pot">0x0000000800000000</entry>
\r
289 <entry>Pull</entry>
\r
292 <entry condition="pot">0x0000001000000000</entry>
\r
293 <entry>Push</entry>
\r
296 <entry condition="pot">0x0000002000000000</entry>
\r
297 <entry>Clone</entry>
\r
300 <entry condition="pot">0x0000004000000000</entry>
\r
304 <entry condition="pot">0x0000008000000000</entry>
\r
305 <entry>Format Patch</entry>
\r
308 <entry condition="pot">0x0000010000000000</entry>
\r
309 <entry>Import Patch</entry>
\r
312 <entry condition="pot">0x0000040000000000</entry>
\r
313 <entry>Fetch</entry>
\r
316 <entry condition="pot">0x0000080000000000</entry>
\r
317 <entry>Rebase</entry>
\r
320 <entry condition="pot">0x0000100000000000</entry>
\r
321 <entry>Stash Save</entry>
\r
324 <entry condition="pot">0x0000200000000000</entry>
\r
325 <entry>Stash Apply</entry>
\r
328 <entry condition="pot">0x0000400000000000</entry>
\r
329 <entry>Stash List</entry>
\r
332 <entry condition="pot">0x0000800000000000</entry>
\r
333 <entry>Submodule Add</entry>
\r
336 <entry condition="pot">0x0001000000000000</entry>
\r
337 <entry>Submodule Sync</entry>
\r
340 <entry condition="pot">0x0002000000000000</entry>
\r
341 <entry>Stash Pop</entry>
\r
344 <entry condition="pot">0x0004000000000000</entry>
\r
345 <entry>Diff two files</entry>
\r
348 <entry condition="pot">0x0008000000000000</entry>
\r
349 <entry>Bisect start</entry>
\r
352 <entry condition="pot">0x0010000000000000</entry>
\r
353 <entry>Bisect good</entry>
\r
356 <entry condition="pot">0x0020000000000000</entry>
\r
357 <entry>Bisect bad</entry>
\r
360 <entry condition="pot">0x0040000000000000</entry>
\r
361 <entry>Bisect reset</entry>
\r
364 <entry condition="pot">0x0080000000000000</entry>
\r
365 <entry>SVN Fetch</entry>
\r
368 <entry condition="pot">0x2000000000000000</entry>
\r
369 <entry>Settings</entry>
\r
372 <entry condition="pot">0x4000000000000000</entry>
\r
373 <entry>Help</entry>
\r
376 <entry condition="pot">0x8000000000000000</entry>
\r
377 <entry>About</entry>
\r
384 Example: to disable the <quote>Sendmail</quote> the
\r
385 <quote>Rebase</quote>
\r
386 and the <quote>Settings</quote> menu entries, add the values assigned
\r
387 to the entries like this:
\r
390 + 0x0000080000000000
\r
391 + 0x2000000000000000
\r
392 = 0x2000080000000100
\r
394 The lower <literal>DWORD</literal> value (<literal>0x00000100</literal>)
\r
395 must then be stored in
\r
396 <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskLow</filename>,
\r
397 the higher <literal>DWORD</literal> value (<literal>0x20000800</literal>) in
\r
398 <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskHigh</filename>.
\r
401 To enable the menu entries again, simply delete the two registry keys.
\r