C.2. Redirect the upgrade check

TortoiseGit

C.2. Redirect the upgrade check

TortoiseGit checks if there's a new version available every week (or daily in a preview release). If there is a newer version available, a dialog shows up informing the user about that and allows to download/install a new version.

Figure C.1. The upgrade dialog

The upgrade dialog

If you're responsible for a lot of users in your domain, you might want your users to use only versions you have approved and not have them install always the latest version (or to save bandwidth or want to add some further notes for installation). You probably don't want that upgrade dialog to show up so your users don't go and upgrade immediately (to disable update checking at all (e.g. because you use group policies to deploy TortoiseGit, see Section C.1, “Deploy TortoiseGit via group policies” and/or VersionCheck in Section 2.36.10, “Advanced Settings”).

TortoiseGit allow you to redirect that upgrade check to your intranet server. You can set the registry key HKCU\Software\TortoiseGit\UpdateCheckURL OR HKLM\Software\TortoiseGit\UpdateCheckURL (string value, HKCU overrides HKLM) to an URL pointing to a text file in your intranet (default is https://versioncheck.tortoisegit.org/version.txt). When the default version.txt file is used, it is checked by verifying a digital signature (https://versioncheck.tortoisegit.org/version.txt.rsa.asc) that it has not been altered (since TortoiseGit 1.8.5). The check for the digital signature of the version.txt file is omitted if the location is overridden in registry. That text file must have the following format:

[TortoiseGit]
version=X.X.X.X
infotext=A new version of TortoiseGit is available for you to download!
infotexturl=http://192.168.2.1/downloads/TortoiseGit/info.htm
changelogurl=http://192.168.2.1/downloads/TortoiseGit/TortoiseGit-1.4.1.6000-changelog.txt
baseurl=http://192.168.2.1/downloads/TortoiseGit/
langs="1029;cs"
langs="1031;de"

The version line in that file is the version string. You must make sure that it matches the exact version string of the TortoiseGit installation package. The infotext line is a custom text, shown in the upgrade dialog. You can write there whatever you want (can also be left empty). Just note that the space in the upgrade dialog is limited. Too long messages will get truncated! The infotexturl line is the URL which is opened when when the user clicks on the (custom) message label in the upgrade dialog. The URL is opened with the default web browser, so if you specify a web page, that page is opened and shown to the user. The changelogurl line contains the URL to the Changelog or release notes which are displayed in the upgrade dialog (if empty it defaults to https://versioncheck.tortoisegit.org/changelog.txt, you can use %1!u!, %2!u! and %3!u! for MAJOR, MINOR and MICRO version numbers of the running TortoiseGit version; %4!s! for Windows platform, %5!s! for Windows version, and %6!s! for servicepack version), The baseurl line is used to override the base path to the installation packages (if empty it defaults to http://updater.download.tortoisegit.org/tgit/X.X.X.X/). The filenames are generated as follows: TortoiseGit-(version)-(32|64)bit.msi for the main installer (if not overridden by mainfilename=TortoiseGit-%1!s!-%2!s!bit.msi) and TortoiseGit-LanguagePack-(version)-(32|64)bit-(cs|de|...).msi for the language packs (if not overridden by languagepackfilename=TortoiseGit-LanguagePack-%1!s!-%2!s!bit-%3!s!.msi; %4!d! is the four digit country code). Using langs lines, one can advertise language packs (Syntax of one line: Four digit country code;ISO Country code). Using a issuesurl line, it is possible to control the URL to which the issues are linked to (default is https://tortoisegit.org/issue/%BUGID%; can also be empty to disable linking),

Clicking on Download downloads the selected files as well as their digital signature files (filename.asc) to FOLDERID_Downloads. After downloading the digital signature is verified - the file is only kept if the file is digitally signed and could be verified correctly.

If you want to distribute your own modified TortoiseGit packages in your network, you have to put your own GPG key into TortoiseGit and sign the .msi-files with this key or deactivate the signature verification completely.