<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect2 SYSTEM "../../../dtd/dblite.dtd">
<sect2 id="tgit-dug-settings-main">
	<?dbhh topicname="HIDD_SETTINGSMAIN"?>
	<?dbhh topicname="HIDD_FIRSTSTARTWIZARD_GIT"?>
	<title>General Settings</title>
	<indexterm>
		<primary>git.exe path</primary>
	</indexterm>
	<indexterm>
		<primary>Cygwin Git</primary>
	</indexterm>
	<indexterm>
		<primary>MSYS2 Git</primary>
	</indexterm>
	<indexterm>
		<primary>Extern DLL Path</primary>
	</indexterm>
	<indexterm>
		<primary>Extra PATH</primary>
	</indexterm>
	<para>
		<figure id="tgit-dug-settings-dia-main">
			<title>The Settings Dialog, General Page</title>
			<graphic fileref="../images/SettingsMain.png"/>
		</figure>
		This dialog allows you to specify your preferred language,
		and the Git-specific settings.
	</para>
	<variablelist>
		<varlistentry>
			<term>Language</term>
			<listitem>
				<para>
					Selects your user interface language.
					What else did you expect? Only languages of installed language packs are listed.
					You can download language packs on the <ulink url="https://tortoisegit.org/download">TortoiseGit download page</ulink>
					or <ulink url="https://tortoisegit.org/translate">help translating</ulink>.
				</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term>Automatically check for newer versions every week</term>
			<listitem>
				<para>
					If checked, TortoiseGit will contact its download site once a week
					to see if there is a newer version of the program available.
					Use <guibutton>Check now</guibutton> if you want an answer
					right away. The new version will not be downloaded; you
					simply receive an information dialog telling you that the
					new version is available.
				</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term>Create Library</term>
			<listitem>
				<para>
					You can create a Library in which to group working copies
					which are scattered in various places on your system.
				</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term>Git.exe Path</term>
			<listitem>
				<para>
					TortoiseGit needs to know which <filename>git.exe</filename> to use for it's operations. Enter the full path to <filename>git.exe</filename> here.
				</para>
				<para>
					<caution>
						<para>
							<filename>git.exe</filename> must not be marked to be run in elevated mode (i.e. <guilabel>Run as administrator</guilabel> or run in any compatibility mode).
						</para>
					</caution>
					<caution>
						<para>
							There is a <ulink url="https://github.com/msysgit/msysgit/issues/103"><citetitle>known issue in msysGit/Git for Windows</citetitle></ulink>:
							Git for Windows provides two <filename>git.exe</filename>-files (one in a folder named <filename>bin</filename> and one in a folder named <filename>cmd</filename>).
							Make sure <guilabel>Git.exe Path</guilabel> points to the <filename>bin</filename>-folder within the Git for Windows installation folder.
						</para>
					</caution>
					<caution>
						<para>
							If you don't use Git for Windows, please see the sections for "Cygwin Git" and "MSYS2 Git" below as special settings are required here.
						</para>
						<para>
							As a general note: There is <ulink url="https://tortoisegit.org/support/faq/#nongitforwindowsunsupported">no official support</ulink> for Cygwin or MSYS2 Git in TortoiseGit. The TortoiseGit developers only use Git for Windows. Bug reports, however, are welcome.
						</para>
					</caution>
				</para>
				<para>
					<tip>
						<para>
							In order to debug problems you can open TortoiseGit advanced settings and set <literal>DebugOutputString</literal> to "true" (<xref linkend="tgit-dug-settings-registry"/>). Start capturing the debug output.
							Then start TortoiseGit settings, click on <guilabel>Check now</guilabel> and observe the debug messages.
						</para>
					</tip>
				</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term>Extra PATH</term>
			<listitem>
				<para>
					If your git installation needs an extra entry in the PATH environment variable,
					you can enter it here and it will get added to the PATH environment variable automatically when TortoiseGit starts.
				</para>
				<para>
					This is especially needed if you installed the developer version of msysGit ("Full installer (self-contained) if you want to hack on Git" with the filename <filename>msysGit-fullinstall-*.exe</filename>),
					in this case it is necessary that the <filename>[MSYSGIT-INSTALL-PATH]\mingw\bin</filename>-folder is on the path (i.e. entered in the <guilabel>Extra PATH</guilabel> textbox) in order to execute <filename>git.exe</filename>.
				</para>
				<para>
					Often you can see if you need this when you start <filename>git.exe</filename> in <filename>[MSYSGIT-INSTALL-PATH]\mingw\bin</filename>-folder and you get a message box saying that a DLL is missing.
				</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term>Cygwin Git</term>
			<listitem>
				<para>
					As noted above: There is <ulink url="https://tortoisegit.org/support/faq/#nongitforwindowsunsupported">no official support</ulink> for Cygwin Git in TortoiseGit (do not enable this for the "Git for Windows" package!). The TortoiseGit developers only use Git for Windows. Bug reports, however, are welcome. If you really want to use it, here are the steps you have to perform:
				</para>
				<para>
					1) Select the <filename>[CYGWIN-INSTALL-PATH]\bin</filename>-folder as <filename>git.exe</filename> folder.
				</para>
				<para>
					2) Configure the <literal>HOME</literal> environment variable in Windows, so that Cygwin and TortoiseGit are using the same home directory and global git-config. Use the normal Windows notation here (e.g., "C:\Users\USERNAME"). By default, TortoiseGit uses the Windows home directory which is normally located under <filename>c:\Users</filename> and Cygwin uses its own home directories which are located under <filename>[CYGWIN-INSTALL-PATH]\home</filename>.
				</para>
				<para>
					3) Configure AutoCrLf, this is necessary as TortoiseGit and Cygwin Git have different defaults. The default in Cygwin Git is <literal>true</literal>.
				</para>
				<para>
					4) Go to TortoiseGit <xref linkend="tgit-dug-settings-registry"/> and set <literal>CygwinHack</literal> to <literal>true</literal> in order to activate Cygwin workarounds.
				</para>
				<para>
					5) Reboot.
				</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term>MSYS2 Git</term>
			<listitem>
				<para>
					As noted above: There is <ulink url="https://tortoisegit.org/support/faq/#nongitforwindowsunsupported">no official support</ulink> for MSYS2 Git in TortoiseGit (do not enable this for the "Git for Windows" package!). The TortoiseGit developers only use Git for Windows. Bug reports, however, are welcome. If you really want to use it, here are the steps you have to perform:
				</para>
				<para>
					1) Select the <filename>[MSYS2-INSTALL-PATH]\usr\bin</filename>-folder as <filename>git.exe</filename> folder.
				</para>
				<para>
					2) Configure the <literal>HOME</literal> environment variable in Windows, so that MSYS2 and TortoiseGit are using the same home directory and global git-config. Use the normal Windows notation here (e.g., <filename>C:\Users\USERNAME</filename>). By default, TortoiseGit uses the Windows home directory which is normally located under <filename>c:\Users</filename> and MSYS2 uses its own home directories which are located under <filename>[MSYS2-INSTALL-PATH]\home</filename>.
				</para>
				<para>
					3) Configure AutoCrLf, this is necessary as TortoiseGit and MSYS2 Git might have different defaults.
				</para>
				<para>
					4) Go to TortoiseGit <xref linkend="tgit-dug-settings-registry"/> and set <literal>Msys2Hack</literal> to <literal>true</literal> in order to activate MSYS2 workarounds.
				</para>
				<para>
					5) Reboot.
				</para>
			</listitem>
		</varlistentry>
	</variablelist>
	<sect3 id="tgit-dug-settings-look-feel">
		<title>Context Menu Settings</title>
		<?dbhh topicname="HIDD_SETTINGSLOOKANDFEEL"?>
		<para>
			<figure id="tgit-dug-settings-dia-context">
				<title>The Settings Dialog, Context Menu Page</title>
				<graphic fileref="../images/SettingsContext.png"/>
			</figure>
			This page allows you to specify which of the TortoiseGit context menu
			entries will show up in the main context menu (on the first level),
			and which entries will appear
			in the TortoiseGit submenu. By default most items are unchecked and
			appear in the submenu.
			If you want to hide specific entries, see <xref linkend="tgit-dug-settings-look-feel-extended"/>.
		</para>
		<para>
			Most of the time, you won't need the TortoiseGit context menu, apart
			for folders that are under version control by Git. For non-
			versioned folders, you only really need the context menu when you
			want to do a checkout. If you check the option <guilabel>Hide menus
			for unversioned paths</guilabel>, TortoiseGit will not add its entries
			to the context menu for unversioned folders. But the entries are
			added for all items and paths in a versioned folder. And you can
			get the entries back for unversioned folders by holding the
			<keycap>Shift</keycap> key down while showing the context menu.
		</para>
		<para>
			If there are some paths on your computer where you just don't want
			TortoiseGit's context menu to appear at all, you can list them in
			the box at the bottom.
			A trailing <literal>*</literal> is treated as a wildcard character matching
			any characters. Additionally, a path ending with <literal>\</literal> will
			match a folder and all its files and subfolders.
			<emphasis>Please note:</emphasis> <literal>*</literal> cannot be used as a wildcard
			character within a path.
		</para>
		<para>
			If you right click and drag folder/file in Windows Explorer,
			a context menu will be shown when you drop. It provides some TortoiseGit actions.
			You can uncheck <guibutton>Enable drag context menu</guibutton>
			to prevent from carelessly clicking the TortoiseGit actions.
		</para>
		<para>
			There's a different settings page for the Windows 11 context menu.
			That page also has a button to register the TortoiseGit entries in
			the context menu. You only have to do this if TortoiseGit was installed
			as a different user.
		</para>
	</sect3>

	<sect3 id="tgit-dug-settings-look-feel-extended">
		<title>Context Menu 2 Settings</title>
		<?dbhh topicname="HIDD_SETTINGSEXTMENU"?>
		<para>
			<figure id="tgit-dug-settings-ext-menu">
				<title>The Settings Dialog, Context Menu 2</title>
				<graphic fileref="../images/SettingsExtendMenu.png"/>
			</figure>
			This page allows you to specify which of the TortoiseGit context menu
			entries will be hidden by default. Selected item will only be visible when you hold the <keycap>Shift</keycap>
			key on <action>right click</action> (this is the so-called extended context menu, please don't mix this with the TortoiseGit submenu, which is also configurable (cf. <xref linkend="tgit-dug-settings-look-feel"/>)).
			This configuration helps you to reduce the number of context menu entries according to your needs.
		</para>
	</sect3>

	<sect3 id="tgit-dug-settings-dialogs">
		<title>TortoiseGit Dialog Settings</title>
		<?dbhh topicname="HIDD_SETTINGSDIALOGS"?>
		<para>
			<figure id="tgit-dug-settings-dia-dialogs-1">
				<title>The Settings Dialog, Dialogs Page</title>
				<graphic fileref="../images/SettingsDialog.png"/>
			</figure>
			This dialog allows you to configure some of TortoiseGit's
			dialogs the way you like them.
		</para>
		<variablelist>
			<varlistentry>
				<term>Default limitation of log messages</term>
				<listitem>
					<para>
						Limits the number of log messages that TortoiseGit loads and displays when you first select
						<menuchoice>
							<guimenu>TortoiseGit</guimenu>
							<guimenuitem>Show log...</guimenuitem>
						</menuchoice> (cf. <xref linkend="tgit-dug-showlog"/>).
						The number of log messages can be limited by a fixed number of revisions to display,
						it can remember the last selected date when the Log Dialog is opened again,
						it can be limited to the last N year(s)/month(s)/week(s),
						or just be unlimited (i.e., all revisions are shown; this is the default).
						When a default limitation is active, the <guilabel>From</guilabel> label has a blueish background in the Revision Log dialog.
						By opening the context menu on the <guilabel>From</guilabel> date picker, you can configure the default limit or disable the default limit for the current dialog.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Font for log messages</term>
				<listitem>
					<para>
						Selects the font face and size used to display the log
						message itself in the middle pane of the Revision Log
						dialog, and when composing log messages in the Commit
						dialog.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Short date / time format in log messages</term>
				<listitem>
					<para>
						If the standard long messages use up too much
						space on your screen use the short format.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Show asterisk log prefix</term>
				<listitem>
					<para>
						An asterisk is inserted as the prefix of log message in Log dialog.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Can double-click in log list to compare with previous revision</term>
				<listitem>
					<para>
						If you frequently find yourself comparing revisions in the top
						pane of the log dialog, you can use this option to allow that
						action on double-click. It is not enabled by default because
						fetching the diff is often a long process, and many people
						prefer to avoid the wait after an accidental double-click,
						which is why this option is not enabled by default.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Abbreviate renamings</term>
				<listitem>
					<para>
						Normally renamed files are listed as <filename>long/path/for/file.txt (from long/path/to/file.txt)</filename>.
						If you check this option renamed files will be listed in a shorter format (<filename>long/path/{to => for}/file.txt</filename>),
						however, this abbreviated format might be harder to understand.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Symbolize ref names</term>
				<listitem>
					<para>
						Show symbols on ref labels to substitute part of the ref names in order to make them smaller.
						If this option is enabled, the following description and example will apply.
						If there is only a single remote, an up-arrow symbol (↑) will substitute the remote name part of each remote branch.
						If the remote branch is the upstream of a local branch, an equivalent symbol (≡) will substitute the branch name part of the remote branch.
						<figure id="tgit-dug-settings-symbolizerefname-example">
							<title>Example of Symbolize ref names</title>
							<graphic fileref="../images/SymbolizeRefNamesExample.png"/>
						</figure>
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Enable log cache</term>
				<listitem>
					<para>
						Load/saves log cache in <filename>.git</filename> folder (<filename>tortoisegit.data</filename>, <filename>tortoisegit.index</filename>) to boost performance of subsequent use of log list.
						If this option is disabled, the cache files are not read or written.
						Default is enabled.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Enable Gravatar</term>
				<listitem>
					<para>
						Shows the Gravatar image of the author of the commit in Log Dialog.
						The URL is customizable so you may specify more options supported by the server,
						or use your own avatar server.
						The default URL is <literal>https://www.gravatar.com/avatar/%HASH%?d=identicon</literal>
						Currently, the supported parameter is <literal>%HASH%</literal>, which is the MD5 email hash.
						To specify a default image, add <literal>d=</literal> parameter,
						e.g. <literal>https://www.gravatar.com/avatar/%HASH%?d=identicon</literal>
						See <ulink url="https://en.gravatar.com/site/implement/images/">
							<citetitle>Gravatar: Image Requests</citetitle>
						</ulink> for a list of parameters.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Draw tag/branch labels on right side</term>
				<listitem>
					<para>
						Shows tag/branch labels after the commit message.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Display branch revision number</term>
				<listitem>
					<para>
						Displays for every selected commit a so called "branch revision number" in the commit message field of the Log Dialog.
						The branch revision number is calculated by calling <literal>git rev-list --count --first-parent [SHA1]</literal> and
						represents the number of commits between the beginning of time and the selected commit.
						This number is NOT guaranteed to be unique, especially if you alter the history (e.g., using rebase) or
						use several branches at the same time. It can be seen "kinda unique" per branch in case you don't alter its history
						(e.g. by rebasing, resetting) and only commit or merge other branches on it. This number is only displayed
						for first-parent commits and not for commits on non-fast-forward merges (here duplicate numbers could occur).
						See <ulink url="https://gcc.gnu.org/ml/gcc/2015-08/msg00148.html">
							<citetitle>https://gcc.gnu.org/ml/gcc/2015-08/msg00148.html</citetitle>
						</ulink>
						and
						<ulink url="https://gitlab.com/tortoisegit/tortoisegit/merge_requests/1">
							<citetitle>https://gitlab.com/tortoisegit/tortoisegit/merge_requests/1</citetitle>
						</ulink> for more details.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Show describe in log</term>
				<listitem>
					<para>
						Shows describe above commit message in the Log dialog.
						For example, <literal>v0.21.0-589-gdeadc43</literal> refers to the commit
						<literal>deadc43</literal> that is 589 commits ahead the tag <literal>v0.21.0</literal>.
						Note: Describe may take longer to run if the commit
						is far ahead away from a tag.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Describe strategy</term>
				<listitem>
					<para>
						Determine reference lookup strategy:
						Available options: Annotated tags, All tags, All refs.
						Default strategy is annotated tags only.
						If your repository uses lightweight tags to mark releases, choose All tags.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Describe Abbreviated size</term>
				<listitem>
					<para>
						Number of chars of the abbreviated commit id to show in describe.
						Default is 7.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Describe Always show long format</term>
				<listitem>
					<para>
						Whether to use the long format even when a shorter name could be used.
						For example, when the commit <literal>g28f087c</literal> has tag <literal>v0.21.0</literal>,
						it still shows long format <literal>v0.21.0-0-g28f087c</literal> instead of just <literal>v0.21.0</literal>.
					</para>
				</listitem>
			</varlistentry>
		</variablelist>
	</sect3>
	<sect3 id="tgit-dug-settings-dialogs2">
		<title>TortoiseGit Dialog Settings 2</title>
		<?dbhh topicname="HIDD_SETTINGSDIALOGS2"?>
		<para>
			<figure id="tgit-dug-settings-dia-dialogs-2">
				<title>The Settings Dialog, Dialogs Page 2</title>
				<graphic fileref="../images/SettingsDialog2.png"/>
			</figure>
			This dialog allows you to configure some more of TortoiseGit's
			dialogs the way you like them.
		</para>
		<variablelist>
			<varlistentry>
				<term>Git.exe Progress Dialog</term>
				<listitem>
					<para>
						TortoiseGit can automatically close all progress dialogs
						when the action is finished without error. This setting
						allows you to select the conditions for closing the
						dialogs. The default (recommended) setting is
						<guilabel>Close manually</guilabel>
						which allows you to review all messages and check what
						has happened. However, you may decide that you want to
						ignore some types of message and have the dialog
						close automatically if there are no critical changes.
					</para>
<!--
					<para>
						<guilabel>Auto-close if no merges, adds or deletes</guilabel>
						means that the progress dialog will close if there were
						simple updates, but if changes from the repository were
						merged with yours, or if any files were added or deleted,
						the dialog will remain open. It will also stay open if
						there were any conflicts or errors during the operation.
					</para>
					<para>
						<guilabel>Auto-close if no merges, adds or deletes for
						local operations</guilabel> means that the progress dialog
						will close as for <guilabel>Auto-close if no merges, adds
						or deletes</guilabel> but only for local operations like adding
						files or reverting changes. For remote operations the
						dialog will stay open.
					</para>
					<para>
						<guilabel>Auto-close if no conflicts</guilabel>
						relaxes the criteria further and will close the dialog
						even if there were merges, adds or deletes. However,
						if there were any conflicts or errors, the dialog
						remains open.
					</para>
-->
					<para>
						<guilabel>Auto-close if no further options are available</guilabel>
						will close the dialog if <filename>git.exe</filename> exited cleanly (i.e. no error occurred)
						and no further options are presented in the progress dialog.
					</para>
					<para>
						<guilabel>Auto-close if no errors</guilabel>
						always closes the dialog if <filename>git.exe</filename> exited with 0 error code.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Use recycle bin when reverting</term>
				<listitem>
					<para>
						When you revert local modifications, your changes are
						discarded. TortoiseGit gives you an extra safety net by
						sending the modified file to the recycle bin before
						bringing back the pristine copy. If you prefer to
						skip the recycle bin, uncheck this option.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Confirm to kill running git process</term>
				<listitem>
					<para>
						When enabled, if you close Progress Dialog or Sync Dialog with a running git process,
						you will be asked for confirmation before killing it.
						This avoids closing the dialog by accident that kills running git process.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Randomize Sync Dialog startup position</term>
				<listitem>
					<para>
						When enabled, the startup position of Sync Dialog will be randomized.
						If you open many Sync Dialogs and press pull button at the same time,
						you may easily press the pull button in any previous Sync Dialog if it finishes and becomes foreground.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Hide unchanged refs in Ref Compare List</term>
				<listitem>
					<para>
						When enabled, unchanged refs will not be shown in Ref Compare List, so you can focus on changed refs.
						Currently, this list is in Sync Dialog Ref List tab.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Show <filename>git.exe</filename> execution timings and timestamp</term>
				<listitem>
					<para>
						When enabled, <filename>git.exe</filename> execution timings and timestamp will be appended at the end of progress message.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Sort tag list in reversed order</term>
				<listitem>
					<para>
						When enabled, tag list is sorted in reversed order.
						It is because newer versions are more useful.
						e.g. Export Dialog allows to select the latest tag when this option is enabled.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Use auto-completion of file paths and keywords</term>
				<listitem>
					<para>
						The commit dialog includes a facility to parse the list
						of filenames being committed. When you type the first 3
						letters of an item in the list, the auto-completion
						box pops up, and you can press Enter to complete the
						filename. Check the box to enable this feature.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Timeout in seconds to stop the auto-completion parsing</term>
				<listitem>
					<para>
						The auto-completion parser can be quite slow if there are a lot
						of large files to check. This timeout stops the commit dialog
						being held up for too long. If you are missing important
						auto-completion information, you can extend the timeout.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Max. items to keep in the log message history</term>
				<listitem>
					<para>
						When you type in a log message in the commit dialog, TortoiseGit
						stores it for possible re-use later. By default it will keep the
						last 25 log messages for each repository, but you can customize
						that number here.
						If you have many different repositories, you may wish to
						reduce this to avoid filling your registry.
					</para>
					<para>
						Note that this setting applies only to messages that you type
						in on this computer. It has nothing to do with the log cache.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Select items automatically</term>
				<listitem>
					<para>
						The normal behavior in the commit dialog is for all modified
						(versioned) items to be selected for commit automatically.
						If you prefer to start with nothing selected and pick the
						items for commit manually, uncheck this box.
					</para>
				</listitem>
			</varlistentry>
		</variablelist>
	</sect3>
	<sect3 id="tgit-dug-settings-dialogs3">
		<title>TortoiseGit Dialog Settings 3</title>
		<?dbhh topicname="HIDD_SETTINGSDIALOGS3"?>
		<para>
			<figure id="tgit-dug-settings-dia-dialogs-3">
				<title>The Settings Dialog, Dialogs 3 Page</title>
				<graphic fileref="../images/SettingsDialog3.png"/>
			</figure>
			This dialog allows you to configure some of TortoiseGit's
			dialogs the way you like them.
			This third page mainly affects the Commit dialog and the settings which are stored in git config files.
		</para>
		<important>
			<para>
				If you have problems entering/storing data please see <xref linkend="tgit-dug-settings-hierarchical"/>.
			</para>
		</important>
		<variablelist>
			<varlistentry>
				<term>Language</term>
				<listitem>
					<para>
						TortoiseGit by default uses the spell checker modules which are also
						used by OpenOffice, LibreOffice and Mozilla.
						Optionally, the Windows 8+ spell checker can also be used (needs to be enabled manually at the moment).
						If you have those installed or use the Windows spell checker
						this property will determine which spell checker to use, i.e.
						in which language the log messages for your project should
						be written.
						The <literal>tgit.projectlanguage</literal> config key sets the language
						module the spell checking engine should use when you enter
						a log message. You can find the values for your language
						on this page:
						<ulink url="https://docs.microsoft.com/windows/desktop/intl/language-identifier-constants-and-strings">
							<citetitle>MSDN: Language Identifiers</citetitle>
						</ulink>.
					</para>
					<para>
						Enter this value in decimal. For example English (US) can be entered as <literal>1033</literal>.
					</para>
					<para>
						Use <literal>-1</literal> to disable the spell checker.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Limit</term>
				<listitem>
					<para>
						<literal>tgit.logminsize</literal>
						sets the minimum length of a log message for a commit.
						If you enter a shorter message than specified here, the commit button
						is disabled. This feature is very useful for reminding you to
						supply a proper descriptive message for every commit.
						If this property is not set,
						or the value is zero, empty log messages are allowed.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Border</term>
				<listitem>
					<para>
						<literal>tgit.logwidthmarker</literal> is used with projects which
						require log messages to be formatted with some maximum width
						(typically 72 characters) before a line break. Setting this
						property to a non-zero will place a marker to indicate the maximum width
						and performs line wrapping. Note: this feature
						will only work correctly if you have a fixed-width font
						selected for log messages.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Warn on Signed-Off-By on commit</term>
				<listitem>
					<para>
						<literal>tgit.warnnosignedoffby</literal> is used with projects which
						require Signed-off-by line in commit messages.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Overlay Icon</term>
				<listitem>
					<para>
						<literal>tgit.icon</literal> is used with projects which wish to show the logo
						on the taskbar for easier identification when multiple TortoiseGit application instances
						of different projects are running at the same time.
						<graphic fileref="../images/TaskbarOverlayIcon.png"/>
						If icon is not 16x16 pixels in size, it will be automatically scaled.
						Supported formats are <filename>.ico</filename>, <filename>.png</filename>, <filename>.jpg</filename>, <filename>.gif</filename>, <filename>.bmp</filename>.
						If no icon is included by that project, you may find one on you own,
						put it in <filename>.git</filename> folder and set the relative path in local config. e.g. <filename>.git/logo.ico</filename>
						If you want to disable it, you may set <literal>tgit.icon</literal> as an empty string in local config.
						It will fallback to a color block when disabled or load failed.
						Note that the advanced option <literal>GroupTaskbarIconsPerRepo</literal> should be 3 or 4 in order to use this function.
					</para>
				</listitem>
			</varlistentry>
		</variablelist>
	</sect3>
	<sect3 id="tgit-dug-settings-colours">
		<title>TortoiseGit color Settings</title>
		<?dbhh topicname="HIDD_SETTINGSCOLORS_1"?>
		<para>
			<figure id="tgit-dug-settings-dia-colors">
				<title>The Settings Dialog, colors Page</title>
				<graphic fileref="../images/SettingsColors.png"/>
			</figure>
			This dialog allows you to configure the text colors
			used in TortoiseGit's dialogs the way you like them.
		</para>
		<variablelist>
			<varlistentry>
				<term>Possible or real conflict / obstructed</term>
				<listitem>
					<para>
						A conflict has occurred during update, or may occur during merge.
						Update is obstructed by an existing unversioned file/folder of
						the same name as a versioned one.
					</para>
					<para>
						This color is also used for error messages in the progress dialogs.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Added files</term>
				<listitem>
					<para>
						Items added to the repository.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Missing / deleted / replaced</term>
				<listitem>
					<para>
						Items deleted from the repository, missing from the working
						copy, or deleted from the working tree and replaced with
						another file of the same name.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Merged</term>
				<listitem>
					<para>
						Changes from the repository successfully merged into the working tree
						without creating any conflicts.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Modified / copied</term>
				<listitem>
					<para>
						Add with history, or paths copied in the repository.
						Also used in the log dialog for entries which include
						copied items.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Note node</term>
				<listitem>
					<para>
						A reference which points to git notes, under refs/notes name space.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>Use local branch color for current branch</term>
				<listitem>
					<para>
						In revision graph, use local branch color for current branch.
						You may not want to emphasize current branch of a local
						repository in revision graph.
					</para>
				</listitem>
			</varlistentry>
		</variablelist>
		<para>
			other settings:
			<variablelist>
				<varlistentry>
					<term>Dark theme</term>
					<listitem>
						<para>
							The dialogs in TortoiseGit can be shown in a dark mode on Windows 10 1809 and later.
							This feature also requires that dark mode for applications is enabled in the Windows 10 settings.
						</para>
						<important>
							<para>
								Note that not all controls in all dialogs are shown in a dark theme.
							</para>
						</important>
					</listitem>
				</varlistentry>
			</variablelist>
		</para>
	</sect3>
	<sect3 id="tgit-dug-settings-colours2">
		<title>TortoiseGit color Settings 2</title>
		<?dbhh topicname="HIDD_SETTINGSCOLORS_2"?>
		<para>
			<figure id="tgit-dug-settings-dia-colors2">
				<title>The Settings Dialog, colors Page</title>
				<graphic fileref="../images/SettingsColors2.png"/>
			</figure>
			This dialog allows you to configure the text colors
			used in TortoiseGit's dialogs the way you like them.
		</para>
	</sect3>
	<sect3 id="tgit-dug-settings-colours3">
		<title>TortoiseGit color Settings 3</title>
		<?dbhh topicname="HIDD_SETTINGSCOLORS_3"?>
		<para>
			<figure id="tgit-dug-settings-dia-colors-3">
				<title>The Settings Dialog, colors Page</title>
				<graphic fileref="../images/SettingsColors3.png"/>
			</figure>
			This dialog allows you to configure the line colors, line width and node size
			in the graph column used in TortoiseGit's log dialog the way you like them.
		</para>
	</sect3>
</sect2>
