Table of Contents » Installation and Files

Installation and Files

SmartGit/Hg stores its settings files per-user. Each major SmartGit/Hg version has its own default settings directory, so you can use multiple major versions independent of each other. The location of the settings directory depends on the operating system.

Default Location of SmartGit/Hg's Settings Directory

  • Windows %APPDATA%\syntevo\SmartGit\<major-smartgit-hg-version> (%APPDATA% is the path defined in the environment variable APPDATA)
  • Mac OS ~/Library/Preferences/SmartGit/<major-smartgit-hg-version>
  • Linux/Unix ~/.smartgit/<major-smartgit-hg-version>

Tip

You can change the directory where the settings files are stored by changing the property smartgit.settings.

Notable Files in the Settings Directory

  • license stores your SmartGit/Hg license key.
  • log.txt contains debug log information. It can be configured via log4j.properties. You may remove this file: afterwards, SmartGit/Hg will return to its default logging settings.
  • passwords is an encrypted file and stores the passwords used throughout SmartGit/Hg. You may remove this file: afterwards, all passwords are lost.
  • accelerators.xml stores the accelerators configuration. You may remove this file: afterwards, all accelerators will be reset to their defaults.
  • credentials.xml stores authentication information (not including the corresponding passwords). You probably do not want to remove this file: afterwards, all credentials (user names, private keys, certificates) will be lost.
  • hostingProviders.xml stores information about configured hosting provider accounts (not including the corresponding passwords). You probably do not want to remove this file: afterwards, all connect details for all hosting provides will be lost.
  • notifications.xml stores information about the state of notifications which show up in the status bar in various cases. You may remove this file: afterwards, various notifications may show up again.
  • projects.xml stored all former SmartGit projects (up to SmartGit 5) including their settings. Beside that it contains all repository root specific settings.
  • repositories.xml stores the information about known repositories, their names and repository groups.
  • repository-cache.xml stores all cached information about repository states, e.g. what local branch is checked out, whether there are incoming or outgoing changes.
  • settings.xml stores the application-wide settings (e.g. the preferences) of SmartGit/Hg. You should not remove this file, unless you want to completely reset SmartGit/Hg.
  • tools.xml stores external tools which have been configured in the Preferences. You probably do not want to remove this file: afterwards, all you external tools configurations will be lost.
  • ui-config.xml stores UI related, more stable settings, e.g. the toolbar configurations. You may remove this file: afterwards, various aspects of the UI will be reset to defaults.
  • ui-settings.xml stores UI related, volatile settings, e.g. window sizes or column widths. You may remove this file: afterwards, various aspects of the UI will be reset to defaults.

Program Updates

SmartGit/Hg stores program updates which have been downloaded automatically through SmartGit/Hg itself by default in the subdirectory updates of the Settings root directory (see Default Location of SmartGit/Hg's Settings Directory).

The root directory of the Updates directory contains sub-directories for every major version. Such a major version directory contains sub-directories for the latest downloaded builds and some control files, of which current is the most interesting one: it points to the currently used build number (and hence sub-directory to take the binaries from). Usually, this will be the highest build number which shows up in this directory.

Warning

By modifying the control file or any other contents within the Updates directory, you may easily screw up your SmartGit/Hg installation. Hence, do not touch these files unless you have good reasons to do so.

Company-wide Installation

For company-wide installations, the administrator may install SmartGit/Hg on a read-only location or network share. To ease deployment and initial configuration for the users, certain settings files can be prepared and put into a directory named default. For Mac OS X this default directory must be located in SmartGit.app/Contents/Resources/ (parallel to the Java directory), for other operating systems within SmartGit/Hg's installation directory (parallel to the lib and bin directories).

When a user starts SmartGit/Hg for the first time, the following files will be copied from the default directory (on the network share) to the user's personal SmartGit/Hg settings directory (refer to Default Location of SmartGit/Hg's Settings Directory):

  • accelerators.xml
  • credentials.xml
  • hostingProviders.xml
  • repository.xml
  • settings.xml
  • tools.xml
  • ui-config.xml
  • ui-settings.xml

The license file (only for Enterprise licenses and 10+ users Professional licenses) can also be placed into the default directory. In the latter case, SmartGit/Hg will prefill the License field in the Set Up wizard when a user starts SmartGit/Hg for the first time. When upgrading SmartGit/Hg, this license file will also be used, so users won't be prompted with a 'license expired' message, but can continue working seamlessly.

Note

Typically, you will receive license files from us wrapped into a ZIP archive. In this case you have to unzip the contained license file into the default directory.

JRE Search Order (Windows)

On Windows, the smartgithg.exe launcher will search for a suitable JRE in the following order (from top to bottom):

  • Environment variable SMARTGITHG_JAVA_HOME
  • Subdirectory jre within SmartGit/Hg's installation directory
  • Environment variable JAVA_HOME
  • Environment variable JDK_HOME
  • Registry key HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

Further Reading

Table of Contents