Commits

Takayuki KONDO  committed 4f4eb49

thg: 2.4 に Manual を追加 ( thg バージョン 4fce1b8f84f1)

  • Participants
  • Parent commits 1a9d561

Comments (0)

Files changed (113)

File thg/manual/2.4/.buildinfo

+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: e46124c5d440424057a54082a95b1f36
+tags: fbb0d17656682115ca4d033fb2f83ba1

File thg/manual/2.4/_images/archive.png

Added
New image

File thg/manual/2.4/_images/clone.png

Added
New image

File thg/manual/2.4/_images/cmenu-files.png

Added
New image

File thg/manual/2.4/_images/cmenu-nofiles.png

Added
New image

File thg/manual/2.4/_images/commit.png

Added
New image

File thg/manual/2.4/_images/desktop-workbench.png

Added
New image

File thg/manual/2.4/_images/dock-toolbar.png

Added
New image

File thg/manual/2.4/_images/edit-toolbar.png

Added
New image

File thg/manual/2.4/_images/email.png

Added
New image

File thg/manual/2.4/_images/email1.png

Added
New image

File thg/manual/2.4/_images/file-menu.png

Added
New image

File thg/manual/2.4/_images/filter-toolbar.png

Added
New image

File thg/manual/2.4/_images/guess.png

Added
New image

File thg/manual/2.4/_images/ignore.jpg

Added
New image

File thg/manual/2.4/_images/import.png

Added
New image

File thg/manual/2.4/_images/init.png

Added
New image

File thg/manual/2.4/_images/mq-tasktab.png

Added
New image

File thg/manual/2.4/_images/nautilus.png

Added
New image

File thg/manual/2.4/_images/overlayicons.png

Added
New image

File thg/manual/2.4/_images/patchqueue.png

Added
New image

File thg/manual/2.4/_images/pbranch.png

Added
New image

File thg/manual/2.4/_images/rejects.png

Added
New image

File thg/manual/2.4/_images/repository-menu.png

Added
New image

File thg/manual/2.4/_images/serve.png

Added
New image

File thg/manual/2.4/_images/settings.png

Added
New image

File thg/manual/2.4/_images/share.png

Added
New image

File thg/manual/2.4/_images/shell-config-cmenu.png

Added
New image

File thg/manual/2.4/_images/shell-config-icons.png

Added
New image

File thg/manual/2.4/_images/shelve.png

Added
New image

File thg/manual/2.4/_images/single-revision-cmenu.png

Added
New image

File thg/manual/2.4/_images/sync-toolbar.png

Added
New image

File thg/manual/2.4/_images/synchronize.png

Added
New image

File thg/manual/2.4/_images/task-toolbar.png

Added
New image

File thg/manual/2.4/_images/view-menu.png

Added
New image

File thg/manual/2.4/_images/visual-diff.jpg

Added
New image

File thg/manual/2.4/_images/workbench.png

Added
New image

File thg/manual/2.4/_sources/archive.txt

+Archiving
+=========
+
+.. module:: archive.dialog
+	:synopsis: Dialog used to make an archive of a repository
+
+You can choose from quite a lot of formats to make an archive of a repository.
+There are the usual compressed formats. But it's also possible to make a plain
+folder of files in another place than the Working Directory (it's like a clone,
+but without the .hg folder). Can be useful for doing builds for example (think
+'svn export'). One can make an archive with only the files of the selected rev.
+Some people seem to use this to send changes to external people that do not have
+access to the repository.
+
+From the changelog context menu in the Workbench select
+:menuselection:`Archive...` for the choosen changeset, or,
+within the folder, type :command:`thg archive`.
+
+.. figure:: figures/archive.png
+	:alt: Archive dialog
+
+	Repository Archive Dialog
+
+:guilabel:`Revision`
+	To select the revision you wish to archive or export.
+:guilabel:`Only files modified/created in this revision`
+	To limit the number of files in the archive.
+:guilabel:`Destination path`
+	The filename or directory where the archive will be created. It is filled
+	with the name of the current repository, suffixed with the revision number
+	of the selected revision, and has the appropriate extension of the selected
+	archive type.
+:guilabel:`Archive types`
+	Here you can choose the type of archive to create, ranging from a plain
+	folder with files to a variety of standard archive type.
+:guilabel:`Hg command`
+	This field displays the command that will be executed by the dialog.
+:guilabel:`Always show output`
+	To have an logging output pane with the results of the command while it runs.
+
+Archiving a repository means create an archive file or subdirectory with the
+contents of the selected revision.
+
+From command line
+-----------------
+
+The archive tool can be started from command line ::
+
+	thg archive
+
+The syntax is ::
+
+	thg archive -r [REV] -t [TYPE] [DEST]
+
+where [REV] is the revision to archive, [TYPE] is the type of archive to create,
+and [DEST] is the name of the file or folder to create.
+
+See `hg.1.html#archive <http://www.selenic.com/mercurial/hg.1.html#archive>`_ 
+for details, or type :command:`hg help archive` at the command line or in the
+Output Log of the Workbench.
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/clone.txt

+Clone a repository
+=======================
+
+.. module:: clone.dialog
+	:synopsis: Dialog used to clone a repository
+
+To clone a repository you have to run the clone dialog.
+From the explorer context menu select :menuselection:`TortoiseHg... --> Clone a repository`
+or type :command:`thg clone`.
+
+.. figure:: figures/clone.png
+	:alt: Clone dialog
+
+	Clone Dialog
+
+:guilabel:`Source`
+	It is the path (or URL) of the repository that will be cloned. Use
+	the :guilabel:`Browse...` to choose a local folder.
+:guilabel:`Destination`
+	It is the path of destination directory, a folder with the same name
+	of source repository will be created within this directory.
+
+Under the :guilabel:`Options` expander you will find:
+
+:guilabel:`Clone To Revision`
+	You can limit the clone up to this revision. Even the tags created
+	after this revision will not be imported.
+:guilabel:`Do not update the new working directory`
+	If checked, after the clone the working directory will be empty. It
+	is useful when you have to clone a repository with the purpose of
+	central repository, or backup, where you have only, in the future,
+	to *push* and *pull*.
+:guilabel:`Use pull protocol to copy metadata`
+	When the source and destination are on the same filesystem,
+	Mercurial tries to use hardlinks. Some filesystems, such as AFS
+	implement hardlink incorrectly, but do not report errors. Use this
+	option to avoid hardlinks.
+:guilabel:`Use uncompressed transfer`
+	To use uncompressed transfer (fast over LAN).
+:guilabel:`Include patch queue`
+	To also clone an MQ patch repository along with the main repository.
+	It is possible to provide a patch queue name that differs from the
+	default one.
+:guilabel:`Use proxy server`
+	To use the proxy server configured in :menuselection:`TortoiseHg... --> Global Settings --> Proxy`.
+	This is enabled only if a proxy is configured.
+:guilabel:`Do not verify host certificate`
+	Skip checking server certificate for https:// url (ignoring web.cacerts config).
+:guilabel:`Remote command`
+	Specify a Mercurial command to run on the remote side.
+:guilabel:`Hg command`
+    This field displays the command that will be executed by the dialog.
+
+From command line
+-----------------
+
+The clone tool can be started from command line ::
+
+	thg clone
+
+The syntax is ::
+
+	thg clone [SOURCE] [DEST]
+
+where [SOURCE] and [DEST] are, the paths of source repository and destination folder.
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/commit.txt

+Commit
+======
+
+.. module:: commit.dialog
+	:synopsis: Dialog used to perform commit
+
+The commit tool is second most commonly used application after the
+Workbench.  Not only can the commit tool commit your changes, but it can
+also examine the state of your working directory and perform most
+routine maintenance tasks (add new files, detect renames, manage the
+ignore filter, etc).
+
+.. figure:: figures/commit.png
+	:alt: Commit dialog
+
+	Commit dialog
+
+Features
+--------
+
+Enumerating the toolbar buttons:
+
+	:guilabel:`Branch dialog`
+		Shows the current branch name of the working directory. Normally
+		this is informational only, but pressing this button opens up a
+		branch maintenance dialog.  Do not use this feature unless you
+		understand Mercurial's
+		`named branches <http://mercurial.selenic.com/wiki/NamedBranches>`_.
+	:guilabel:`Recent Commit Messages`
+		A drop-down list of the 10 most recent commit messages. The
+		the drop-down list is filled the first time it is opened.
+	:guilabel:`Commit`
+		Commit selected diffs in checked files.
+	:guilabel:`Undo`
+		Undo (rollback) last immediate commit. Your commit message will be
+		available in the message history, so you can easily repeat the
+		commit if necessary.
+
+
+The file list has four columns:
+
+	1) A checkbox that indicates whether the file is selected for an
+	   operation.  The toolbar buttons only operate on checked files.
+	   "Partially" selected files have a special check state.  This
+	   column header is checkable, it will toggle the file selection
+	   states.
+	2) The :guilabel:`st` column holds the status of the file, defined
+	   by Mercurial's status command, one of 'MARD?IC'.  A status of 'S'
+	   indicates a dirty subrepository that needs to be committed.
+	3) The :guilabel:`ms` column holds the merge state of the file,
+	   defined by Mercurial's resolve command, one of ' RU'.  See the
+	   merge section below.
+	4) The canonical path of the file relative to the repository root
+
+.. note::
+	If the commit tool was started with a file pattern or selection, a
+	button will appear at the bottom of the file list that can clear the
+	file pattern and give you an unfiltered view of the entire working
+	directory.
+
+The :guilabel:`Status` button has a menu with checkable options that
+toggle the display of the various classes of files {modified, added,
+removed, deleted, unknown, clean, ignored}.
+
+*Removed* means a revisioned file has been marked as removed. *Deleted*
+means a revisioned file is missing but Mercurial has not been told to
+quit tracking that file. For instance, if you rename a revisioned file
+in Explorer, the original filename will show up as deleted and the
+new filename will show up as unknown. By right-clicking on the new
+filename you can bring up the rename guessing dialog which can discover
+the rename by comparing file contents and mark the old file as removed
+and the new file as added while recording the whole operation as a
+rename.
+
+*Unknown* files are not tracked by Mercurial, but they also do not match
+any ignore filters you have configured.  Unknown files are shown by
+default because they are usually files that need to be added to revision
+control.  It is recommended that you keep your ignore filters up to date
+to ensure that is the case.  The context menu of unknown files has an
+option open the ignore pattern tool.
+
+*Clean* files are tracked files that have not been modified, while
+*Ignored* files are untracked files that match a configured ignore
+pattern.  Neither of those file types are shown by default, unless a the
+user includes such a file in a selection (explorer) or provides the file
+name on the command line.
+
+Keyboard navigation
+-------------------
+
+:kbd:`Ctrl-Enter`
+	Trigger the commit
+:kbd:`Ctrl-E`
+	Reflow the paragraph currently under the cursor.  You must configure
+	a message format policy for this shortcut to work.
+
+File Context Menus
+------------------
+
+When right clicking on files in the file list, you will get a context
+menu of commands that are applicable to the selected files.
+
+For unknown **?** files, the context menu will allow you to detect
+renames (if you think the unknown file is a copy or rename of a
+revisioned file) or to configure the repository's ignore filter (if the
+unknown file should never be revisioned and you want Mercurial to ignore
+it).
+
+
+Merging
+-------
+
+The commit tool has a special mode when it is opened in a repository
+that is in a merged state (either a merge is in progress, or an update
+was performed that caused a conflict).
+
+The merge state *ms* column is especially useful in this mode.  Files
+that are marked with *R* are files where Mercurial and/or the user have
+successfully merged (resolved) changes from both parents. Files that
+are marked with *U* have unresolved changes. You can use the *Restart
+Merge* context menu option to restart the merge for those files, or you
+can use the *edit* context menu option to resolve the conflict by hand.
+The *Restart Merge* menu option allows you to select the merge tool to
+use to perform the merge, or even to pick one version or the other
+unconditionally (internal:local, internal:other).  After the conflicts
+have been manually resolved, you must use the *mark resolved* context
+menu option to change the file's merge state to *R*.
+
+Mercurial will not allow you to commit a merge if any files have
+unresolved *U* merge states.
+
+For your reference, *local* is the revision you had checked out when you
+started the merge and *other* is the revision you merged with.
+
+To undo a failed merge attempt, you must tell Mercurial to remove the
+second parent from your working directory.  This usually means
+performing a clean update of the first parent.  The merge tool has an
+:guilabel:`Undo` button which does exactly that.
+
+Once you have your working directory back at one parent revision, you
+may restart the merge process.
+
+Commit Message Pane
+-------------------
+
+The commit message pane has these special context menu options:
+
+	:guilabel:`Paste Filenames`:
+		Paste checked filenames into the commit message at the cursor.
+	:guilabel:`Apply Format`:
+		Apply configured message wrap policy to current message.
+	:guilabel:`Configure Format`:
+		Opens the settings dialog to the :guilabel:`Commit` tab.
+
+If your project has guidelines for the format of commit messages, you
+can configure them in the settings tool.  The commit tool will enforce
+your policy at commit time, and you can ask the tool to apply the format
+to the current message.  The :guilabel:`Commit` tab of the settings tool
+has these two configurables for commit message policy:
+
+	:guilabel:`Summary Line Length`:
+		Maximum length of the commit message summary line.  If set,
+		TortoiseHg will draw a line at the specified width.
+
+
+Subrepositories
+---------------
+
+A `subrepository <http://mercurial.selenic.com/wiki/subrepos>`_
+is a feature introduced in Mercurial 1.3.  It allows one Mercurial
+repository to store references to external Mercurial (or potentially
+other VCS) repositories, and to include the state of those external
+repositories in the main repository's history.
+
+TortoiseHg 1.0 introduced rudimentary support for subrepositories, and
+only in the commit / status tool.  When Mercurial considers a subrepo
+dirty, it will appear in the commit tool as a special entry in the file
+list with a status of *S*.  If a subrepo is included in the file list of
+a commit, the subrepo is committed along with the other changes,
+updating the .hgsubstate file in the main repository root.
+
+
+Configurables
+-------------
+
+:menuselection:`Commit --> Username`
+	Sets username associated with your commits (see :doc:`quick`)
+:menuselection:`Commit --> Summary Line Length`
+	Configures a 'policy' limit for summary lines
+:menuselection:`Commit --> Close After Commit`:
+	When set to True, the commit tool will close after a
+	successful commit.
+
+And three other features for *advanced* users.
+
+:menuselection:`Commit --> Push After Commit`:
+	If configured, the commit tool will try to push to the configured
+	URL or alias after each commit.
+:menuselection:`Commit --> Auto Commit List`:
+	Comma separated list of files that are automatically included in
+	every commit.  Intended for use only as a repository setting.
+:menuselection:`TortoiseHg --> Max Diff Size`
+	Configures the diff size limit
+
+From command line
+-----------------
+
+The commit tool can be started from command line::
+
+	thg commit [OPTIONS] [FILE]...
+
+	aliases: ci
+
+	commit tool
+
+	options:
+
+	 -u --user  record user as committer
+	 -d --date  record datecode as commit date
+
+	use "thg -v help commit" to show global options
+
+For a quick help on the format of date type::
+	
+	hg help dates
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/common.txt

+Common Features
+===============
+
+.. module:: common.dialog
+	:synopsis: Features common to many dialogs
+
+These features are common to many TortoiseHg tools, so we document them
+here just once.
+
+Visual Diffs
+------------
+
+.. figure:: figures/visual-diff.jpg
+	:alt: Visual Diff Window 
+
+	Visual Diff Window
+
+In TortoiseHg 1.0, the visual (external) diff infrastructure was
+refactored.  The new system uses tool descriptions in
+:file:`mergetools.rc` to detect most common diff tools on your computer
+(including KDiff3, which ships in our installer) and select the best
+available tool.
+
+If the user has selected a merge tool
+(:menuselection:`TortoiseHg --> Three-way Merge Tool`), that tool will
+also be used to perform visual diffs, bypassing the tool selection
+process.  However the user can still select a separate tool
+(:menuselection:`TortoiseHg --> Visual Diff Tool`) for visual diffs if
+they chose.
+
+The merge tool configuration file contains optimal command lines for
+each tool, so no further configuration is required by the user.  They
+only need to select the tools they wish use, or accept the defaults.
+
+The visual diff system will use any existing extdiff configuration it
+finds.  Since extdiff did not support three way diff arguments until
+very recently and still does not support label arguments, you will
+likely have a better experience by disabling or deleting any extdiff
+configuration you may have.
+
+The visual diff system will directly use the selected diff tool unless
+the action you are attempting requires the use of the TortoiseHg visual
+diff window.  The list of conditions includes:
+
+1) The selection of files being compared require multiple tools
+2) The selected tool forks detached background processes
+3) The selected tool does not support the required directory diffs
+4) The selected tool does not support three way comparisons
+5) The file changes include renames or copies
+
+When the visual diff window is used, the temporary files are cleaned up
+when the dialog is closed.  Thus it should be left open until you close
+all of your diff tool instances.  When your diff tool is launched
+directly, the temporary files are deleted when your tool exits.
+
+If your diff tool is launched directly to compare a working copy file,
+it will directly diff against the working file so you may modify it from
+within the diff tool.  If you are comparing multiple files, the visual
+diff system will make a snapshot of the working copy files and track
+their initial sizes and timestamps.  When your diff tool exits, the
+system compares the sizes and timestamps and copies modified files back
+over the original working copies.  In this way, you can still modify
+your working copy files from your visual diff tool even when performing
+directory comparisons.
+
+When the visual diff window is used to compare working copy files, it
+always directly diffs against the working copy files since it always
+operates on a single file at a time.
+
+.. note::
+	The :menuselection:`TortoiseHg --> Skip Diff Window` configurable
+	has been removed because it is now redundant.
+
+Adding Tools
+~~~~~~~~~~~~
+
+If you have a visual diff tool installed that is not supported by
+TortoiseHg, you can create a tool configuration for it in your user
+:file:`Mercurial.ini` file.  See Mercurial's
+`documentation <http://www.selenic.com/mercurial/hgrc.5.html#merge-tools>`_
+on how to configure your tool for use in file merges.  When that is
+complete, you can add the extra keys used by TortoiseHg for visual
+diff::
+
+	diffargs:  the arguments to use for two-way file comparisons
+	diff3args: the arguments to use for three-way file comparisons
+	dirdiff:   this tool supports two-way directory comparisons
+	dir3diff:  this tool supports three-way directory comparisons
+
+When building command line arguments, you can use the following
+variables::
+
+	$parent1:  the file or directory from the first parent revision
+	$parent2:  the file or directory from the second parent revision
+	$child:    the file or directory from the revision being compared
+	$ancestor: the file or directory from the ancestor of a merge
+	$parent:   a synonym for $parent1
+
+	$plabel1:  a symbolic name for the first parent revision
+	$plabel2:  a symbolic name for the second parent revision
+	$clabel:   a symbolic name for the revision being compared
+	$alabel:   a symbolic name for the ancestor revision
+
+Obviously, $parent2 and $ancestor are only meaningful when used in three
+way diff arguments, for viewing merge changesets.  If your diff tool
+cannot use the ancestor revision in any productive way, it is safe to
+leave it out of the diff3args command line.
+
+.. note::
+	On Windows, the `executable` parameter can use environment variables
+	using the syntax ${ProgramFiles}
+
+If unconfigured, the default value of **diffargs** is '$parent $child'.
+The default value of **diff3args** is "", indicating the visual diff
+tool cannot perform three way comparisons.
+
+If you create a new visual diff tool configuration, or improve upon an
+existing configuration, please email it to our development mailing list
+so it may be incorporated in a future release.
+
+
+Word Diffs
+~~~~~~~~~~
+
+The TortoiseHg Windows installers now include TortoiseSVN's scripts for
+comparing (and sometimes merging) many binary document formats.  These
+are configured in the site-wide :file:`mergepatterns.rc` as handlers for
+each binary format's common file extensions, so no user intervention is
+required.
+
+In order to support file extension based tool selection, TortoiseHg has
+added support for a **[diff-patterns]** section equivalent to Mercurial's
+`merge-patterns <http://www.selenic.com/mercurial/hgrc.5.html#merge-patterns>`_
+section.
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/daily.txt

+***********************
+TortoiseHg in daily use
+***********************
+
+.. toctree::
+	:maxdepth: 3
+	
+	common
+	explorer
+	nautilus
+	workbench
+	init
+	clone
+	commit
+	shelve
+	sync
+	serve
+	guess
+	ignore
+	archive
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/debugging.txt

+Debugging 
+=========
+
+.. module:: debugging
+	:synopsis: Debug problems in shell extension or dialogs
+
+Dialogs
+-------
+
+Stderr is being captured to a buffer that is being inspected at program
+exit.  If any serious errors (tracebacks, etc) are found in the stderr
+buffer the entire contents are sent to the bug report tool so the user
+can (should) report a bug.  If you suspect there are errors that are not
+being reported, you can set the environment variable **THGDEBUG** to any
+value to disable the stderr buffering.
+
+If you have a bit of Python knowledge, you can also use::
+
+    thg --debugger <command>
+
+To disable the forking behavior of thg, you can either set an
+environment variable **THG_HGTK_SPAWN**, or add the command line
+parameter '--nofork'.
+
+
+Windows
+~~~~~~~
+
+To debug the changelog viewer, for instance, enter these commands
+into a :command:`cmd.exe` window, while inside the repository::
+
+    set THGDEBUG=1
+    thg --nofork log
+
+Linux/MacOSX
+~~~~~~~~~~~~
+
+To debug the changelog viewer, for instance, enter these commands
+into your shell window, while inside the repository::
+    
+    export THGDEBUG=1
+    thg --nofork log
+
+
+
+Shell Extension
+---------------
+
+The debugging mechanisms depend on your platform.
+
+Windows
+~~~~~~~
+
+See also http://msdn.microsoft.com/en-us/library/cc144064(VS.85).aspx
+for some info bits about Running and Testing Shell Extensions on Windows
+
+The :command:`DbgView` tool from the SysInternals suite will capture
+debug messages from the shell extension.  However, the shell
+extension does not emit debugging info by default.  It must be enabled
+by setting the registry key defined in
+:file:`win32/shellext/DebugShellExt.reg` in the TortoiseHg source
+repository.  You can double-click on this file to load the key into your
+registry.
+
+Another option is to exit the :command:`TortoiseHgOverlayServer` system tray
+application and start it from the command line.  It will emit some debug
+information to the console.
+
+Nautilus
+~~~~~~~~
+
+Debugging is done via the environment variable DEBUG_THG
+
+* to test in a separate process::
+
+    DEBUG_THG=Ne TMPDIR=/tmp/anydir/ --no-desktop nautilus [path]
+
+* to test in the main instance:: 
+
+    nautilus -q
+    DEBUG_THG=NOe nautilus
+
+* permanent debugging, set DEBUG_THG in a file which is read on session
+  start (~/.profile, ~/.xprofile)
+
+Upper case characters in DEBUG_THG specify modules.  Only *O* and *N*
+for *OverlayCache* and *Nautilus*, respectively, are supported module
+names.  Lower case characters imply parts. Only *e* is supported,
+implying *error* messages.
+
+To restart nautilus, chose either
+
+1) killall nautilus (the session restarts nautilus automatically, stdin and stdout go to ~/.xsession-errors)
+
+2) nautilus -q; nautilus (stdin and stdout are on the console)

File thg/manual/2.4/_sources/explorer.txt

+Windows Explorer Integration
+============================
+
+.. module:: explorer
+	:synopsis: Windows explorer integration
+
+Context Menus
+-------------
+
+TortoiseHg commands may be accessed via the context menu of Explorer
+windows and other applications which use the standard File/Open dialogs.
+Here is the context menu for a revisioned folder:
+
+.. figure:: figures/cmenu-nofiles.png
+	:alt: Context menu
+
+	Context menu for a folder under Mercurial revision control
+
+And here is the context menu for selected files or folders:
+
+.. figure:: figures/cmenu-files.png
+	:alt: Context menu
+
+	Context menu for file or folder selection
+
+TortoiseHg provides dialogs for the most regularly used Mercurial
+commands.  Less frequently used and newly added Mercurial commands
+may be accessed from the CLI (command line interface) through
+:file:`cmd.exe` on Windows.
+
+Overlay Icons
+-------------
+
+TortoiseHg provides visual representation of the file status via overlay
+icons in the MS-Explorer windows. This is similar to those that found on
+other Tortoise client, such as TortoiseCVS and TortoiseSVN.
+
+TortoiseHg shares the overlay icons with TortoiseSVN (version 1.5.x or
+later) and the other "Tortoise" projects via the use of TortoiseOverlays
+(another project created by TortoiseSVN team).
+
+.. figure:: figures/overlayicons.png
+	:alt: Overlay icons
+
+	Overlay icons in Icons view (XP)
+
+The context menu has an :guilabel:`Update Icons` option which forces
+TortoiseHg to refresh the icons in the currently browsed repository or
+directory of repositories. The taskbar icon will turn green and the
+directory icons will turn into question marks while this refresh is in
+progress.
+
+Shell Configuration
+-------------------
+
+The overlay handler and context menus are configurable.  From any folder
+background (even the desktop), right click and select
+:menuselection:`TortoiseHg --> Explorer Extension Settings`. This opens the
+TortoiseHg Shell Configuration dialog.
+
+On the tab "Context Menu" you can promote individual menu options to the
+top level menu.
+
+.. figure:: figures/shell-config-cmenu.png
+	:alt: Shell Configuration dialog, Context Menu tab
+
+	Shell Configuration Dialog, Context Menu tab
+
+On the "Icons" tab you configure settings related to the overlay icons and the
+icon of the "Overlay Icons Server" in the taskbar (in the notification area of
+Windows).
+
+.. figure:: figures/shell-config-icons.png
+	:alt: Shell Configuration dialog, Icons tab
+
+	Shell Configuration Dialog, Icons tab
+
+:guilabel:`Enable overlays:`
+	If checked, overlay icons are shown on folders and files in the
+	working directory (woking copy) of Mercurial repositories.
+	(Default: checked)
+
+:guilabel:`Local disks only:`
+	If checked, overlay icons are only shown for volumes on local disks, not
+	on network shares. Scanning for Mercurial repositories over the network
+	may result in high latency in the user interface of explorer. Check this
+	option if browsing network shares becomes too slow and/or you do not need
+	overlay icons on non-local volumes.
+	(Default: not checked)
+
+:guilabel:`Enabled Overlay Handlers:`
+	These (per user) settings provide the possibility to disable overlay
+	icon handlers in the shared TortoiseOverlays component.
+	The TortoiseOverlays component is shared by all Tortoises (TortoiseHg,
+	TortoiseSVN, etc), with the goal to avoid registering too many icon slots,
+	by using a common set of icons slots for all Tortoises (thus using the
+	same set of icons for all Tortoises).
+	The total number of overlay slots available on Windows is fairly limited and
+	depends on the exact Windows version. For example, on a pristine install
+	of Windows 7, there are only 8 free overlay handler slots available.
+	This section allows to disable certain non-essential overlay
+	handlers, to reduce icon handler slot consumption by the TortoiseOverlays
+	component. Unchecking handlers in this section increases the chances that
+	important handlers like "Normal" (green checkmark) or "Modifed" (red
+	exclamation mark) will still get an icon slot, even if there are too many
+	handlers registered on a computer.
+	Unchecking handlers that are not used by TortoiseHg (that is: Locked,
+	Readonly, Ignored, Deleted) is highly recommended, if you know that no
+	other Tortoises (e.g. TortoiseSVN) uses them. 
+	Make sure the "Added" and "Unversioned" handlers are enabled, as these
+	are used by TortoiseHg.
+	(Default: all checked)
+
+.. warning::
+	The "Enabled Overlay Handlers" settings affect all Tortoises for a user.
+	A logoff/login is required to make changes in that section effective.
+
+:guilabel:`Taskbar:`
+	Checkmark "Show Icon" to show the icon of the Overlay Icon Server in the
+	taskbar in the notification area. "Highlight Icon" highlights that icon
+	using a light green color while the icon server is busy updating cache files
+	in the repository (files :file:`.hg\\dirstate` and :file:`.hg\\thgstatus`).
+	(Default: both checked)
+
+One can selectively disable overlay icons in a specific repository by
+editing the :file:`.hg\\thgstatus` file inside the repository and
+replacing its contents with a single line containing::
+
+	@@noicons
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/extensions.txt

+**********
+Extensions
+**********
+
+.. module:: extensions
+	:synopsis: Describe extensions bundled with TortoiseHg binary packages
+
+This chapter describes Mercurial extensions that are shipped with
+TortoiseHg binary packages for Windows.  These external extensions are
+included as a convenience to users, so they can be easily enabled as
+soon as they are needed.
+
+Hgfold
+======
+
+`hgfold <http://mercurial.selenic.com/wiki/CaseFoldExtension>`_ is a
+Mercurial extension that helps Windows users deal with filename case
+collisions on VFAT and NTFS.
+
+It adds options to the following Mercurial commands. Type
+:command:`hg help <command>` for more information::
+
+	up    - allows you to update to a revision with filename collisions
+	merge - allows you to merge with a changeset that would create filename collisions
+    
+The extension does not currently do anything to prevent filename
+collisions. See discussion on the Mercurial Wiki
+
+**Installation**
+
+To test the use of this plugin, you can specify it on the Mercurial
+command line like this::
+
+	hg --config "extensions.fold=" status
+
+You may want to add it to your Mercurial.ini or a repository's hgrc like this::
+
+	[extensions]
+	fold=
+ 
+If you do this, you can omit the --config command-line option.
+
+**Warnings**
+
+Like all merge operations, fold.py has to change the parents of the
+working directory. It is still in early testing, so use with caution.
+
+If you get an error about an unknown changeset after running
+:command:`hg recover` try
+:command:`hg debugsetparents <number of tip revision>`.
+You can find the number of the tip revision by running :command:`hg log -l 2`.
+
+Perfarce
+========
+
+`Perfarce <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_ home
+page.
+
+This extension is documented in :ref:`perfarce-perforce` section of
+:doc:`nonhg` chapter.
+ 
+Mercurial-Keyring
+=================
+
+* `Mercurial Keyring <http://pypi.python.org/pypi/mercurial_keyring>`_ home page
+* `Keyring Extension <http://mercurial.selenic.com/wiki/KeyringExtension>`_ wiki page
+
+Keyring extension uses services of the keyring library to securely save
+authentication passwords (HTTP/HTTPS and SMTP) using system specific
+password database (Gnome Keyring, KDE KWallet, OSXKeyChain, dedicated
+solutions for Win32 and command line).
+
+**What it does**
+
+The extension prompts for the HTTP password on the first pull/push
+to/from given remote repository (just like it is done by default), but
+saves the password (keyed by the combination of username and remote
+repository url) in the password database. On the next run it checks for
+the username in :file:`.hg/hgrc`, then for suitable password in the password
+database, and uses those credentials if found.
+
+Similarly, while sending emails via SMTP server which requires
+authorization, it prompts for the password on first use of given server,
+then saves it in the password database and reuses on successive runs.
+
+In case password turns out incorrect (either because it was invalid, or
+because it was changed on the server) it just prompts the user again.
+
+**Installation**
+
+First, the extension must be enabled in your Mercurial.ini file as::
+
+	[extensions]
+	mercurial_keyring=
+
+**Password backend configuration**
+
+The most appropriate password backend should usually be picked automatically,
+without configuration. Still, if necessary, it can be configured using
+:file:`~/keyringrc.cfg` file (:file:`keyringrc.cfg` in the home directory of
+the current user).
+Refer to `keyring docs <http://pypi.python.org/pypi/keyring>`_
+for more details.
+
+.. note::
+	On Windows XP and above, your encrypted passwords are stored in the
+	credentials subsystem using
+	`CredRead <http://msdn.microsoft.com/en-us/library/aa374804%28VS.85%29.aspx>`_ and `CredWrite <http://msdn.microsoft.com/en-us/library/aa375187%28VS.85%29.aspx>`_
+
+.. note::
+	On Windows 2K, the encrypted passwords are stored in the system
+	registry under HKCU\\Software\\Mercurial\\Keyring.
+
+**Repository configuration (HTTP)**
+
+Edit repository-local :file:`.hg/hgrc` and save there the remote repository
+path and the username, but do not save the password. For example::
+
+	[paths]
+	myremote = https://my.server.com/hgrepo/someproject
+
+	[auth]
+	myremote.schemes = http https
+	myremote.prefix = my.server.com/hgrepo
+	myremote.username = mekk
+
+Simpler form with url-embedded name can also be used::
+
+	[paths]
+	bitbucket = https://User@bitbucket.org/User/project_name/
+
+.. note::
+	If both username and password are given in :file:`.hg/hgrc`, extension
+	will use them without using the password database. If username is not
+	given, extension will prompt for credentials every time, also
+	without saving the password. So, in both cases, it is effectively
+	reverting to the default behaviour.
+
+Consult `[auth] <http://www.selenic.com/mercurial/hgrc.5.html#auth>`_
+section documentation for more details.
+
+**Repository configuration (SMTP)**
+
+Edit either repository-local :file:`.hg/hgrc`, or :file:`~/.hgrc` (the latter
+is usually preferable) and set there all standard email and smtp properties,
+including smtp username, but without smtp password. For example::
+
+	[email]
+	method = smtp
+	from = Joe Doe <Joe.Doe@remote.com>
+
+	[smtp]
+	host = smtp.gmail.com
+	port = 587
+	username = JoeDoe@gmail.com
+	tls = true
+
+Just as in case of HTTP, you must set username, but must not set password here
+to use the extension, in other cases it will revert to the default behaviour.
+
+**Usage**
+
+Configure the repository as above, then just pull and push (or email) You
+should be asked for the password only once (per every username +
+remote_repository_url combination). 
+
+.. vim: noet ts=4
+
+projrc
+======
+
+`projrc <http://mercurial.selenic.com/wiki/ProjrcExtension>`_ is an extension
+that makes Mercurial look for and parse .hg/projrc for additional
+configuration settings.The file is transferred on clone and on pull
+(but never on push), after confirmation by the user, from a list of servers
+that '''must''' be configured by the user. For security reasons the user
+'''must''' also select which ''`projrc`''  configuration settings will be
+transferred (i.e. no settings are transferred from any servers by default).
+The user can also configure the extension to automatically accept all changes
+to the .hg/projrc file.
+
+This is useful for centralized setups where you want to distribute
+configuration settings to all repositories with a minimum amount of setup.
+In particular, it can be used to remap subrepository sources, as explained
+on Mercurial's
+`SubrepoRemappingPlan <http://mercurial.selenic.com/wiki/SubrepoRemappingPlan>`_.
+
+**Configuration**
+
+This extension (as most other extensions) is disabled by default. To use
+and configure you must first enable it on the Settings/Extensions panel.
+
+When the extension is enabled you will see a new entry, "Projrc" on the
+settings dialog. This let's you configure the extension by setting the
+following settings:
+
+	:guilabel:`Request confirmation`
+        If True (the default) you'll get a prompt whenever
+        the extension detects changes to the remote server's
+        .hg/projrc file.
+        If false, the extension will automatically accept any change to the
+        remote .hg/projrc file.
+
+    :guilabel:`Servers`
+        This setting is a comma separated list of glob patterns matching
+        the server names of the servers that the projrc file will be pulled from.
+        Unless this setting is set, no .hg/projrc files will be ever
+        transferred from any servers.
+
+    :guilabel:`Include`
+        This key lets you control which sections and which keys will be accepted
+        from the remote projrc files. This is a a comma separated list of glob
+        patterns that match the section or key names that will be included.
+        Keys names must be specified with their section name followed by a '.'
+        followed by the key name (e.g. "''`diff.git`''").
+
+        To allow all sections and all keys you can set this setting to "*"
+        (without the quotes).
+
+    :guilabel:`Exclude`
+        This setting is similar to the "''`Include`''" setting but it has the
+        opposite effect. It sets an "exclude list" of settings that will not
+        be transferred from the common projrc files.
+
+        The exclude list has the same syntax as the include list. If an exclusion
+        list is set but the inclusion list is empty or not set all non excluded
+        keys will be included.
+
+    :guilabel:`Update on incoming`
+        Control whether the .hg/projrc file will be updated on incoming.
+        It can have the following values:
+
+        * never: The default. Show whether the remote projrc file has changed,
+          but do not update (nor ask to update) the local projrc file.
+        * prompt: Look for changes to the projrc file.
+          If there are changes _always_ show a confirmation prompt,
+          asking the user if it wants to update its local projrc file.
+        * auto: Look for changes to the projrc file.
+          Use the value of the "''`projrc.confirm`''" configuration key to
+          determine whether to show a confirmation dialog or not
+          before updating the local projrc file.
+
+        If False (the default) you'll get a prompt whenever
+        the extension detects changes to the remote server's
+        .hg/projrc file.
+        If false, the extension will automatically accept any change to the
+        remote .hg/projrc file.
+
+
+If both an include and an exclude lists are set, and a key matches both
+the include and the exclude list, priority is given to the most explicit
+key match, in the following order:
+
+    * full key, exact matches are considered the most explicit (e.g.
+      "''`ui.merge`''");
+    * pattern (glob) matches are considered next (e.g. 
+      "''`auth.bitbucket.com.*`''"), with the longest matching pattern being the
+      most explicit;
+    * section level matches (e.g. "''`ui`''");
+    * global ("''`*`''") matches.
+
+If a key matches both an include and an exclude (glob) pattern of the same
+length, the key is ''included'' (i.e. inclusion takes precedence over
+exclusion).
+
+**Usage**
+
+Once enabled and properly configured, the extension will look for
+.hg/projrc files whenever you clone or pull from one of the repositories
+specified on its "servers" configuration key.
+
+Whenever the extension detects changes to the remote projrc file (e.g. when
+you do not have a .hg/projrc file yet, or when the contents of said file
+have changed on the server), you'll receive a warning unless you have set the
+"Require confirmation" setting to False (in which case the extension assumes
+that you accept the changes). If you accept the changes your local .hg/projrc
+file will be updated, and its settings will be taken into account by mercurial
+and TortoiseHg.
+
+If a local repository has a .hg/projrc file, you'll see an extra panel
+on the setting dialog. The title of the extra panel is "project settings
+(.hg/projrc)".
+
+The "project settings" panel is a read-only panel that shows the settings that
+are set on the local .hg/projrc file. Although you can update your local
+version of the .hg/projrc file, the panel is read only to indicate that
+you cannot change the remote repository's settings, and that if the remote
+repository settings change your local copy will be updated on the next pull
+(if you allow it).
+
+The "project settings" settings panel is shown between the "global settings" panel
+and the "repository settings" panel, indicating that its settings are applied
+_after_ the global settings but _before_ the local repository settings (i.e
+the settings specified in the repository .hg/hgrc file).
+
+**Additional Information**
+
+For the most up to date information regarding this extension, to see several
+detailed usage examples and to learn how to use it and configure it from the
+command line, please go to the extension's
+`Wiki <http://mercurial.selenic.com/wiki/ProjrcExtension>`_.
+
+pbranch
+=======
+
+Patch Branches (`pbranch <http://mercurial.selenic.com/wiki/PatchBranchExtension>`_) 
+is a way to develop a series of patches for submission into a main 
+repo. It is based on topic branches, one per patch, and is thus highly 
+suitable for collaborative and/or long-term patch development and 
+maintenance.
+
+`A detailed manual <http://arrenbrecht.ch/mercurial/pbranch/>`_ can be found online.
+
+It adds a number of commands which can be listed with 
+:command:`hg help pbranch`::
+
+ pbackout       - backs out the current patch branch (undoes all its changes)
+ pdiff          - prints the final diff for the current or given patch branch
+ peditmessage   - edit the patch message
+ pemail         - send patches by email
+ pexport        - exports patches
+ pextdiff       - combines pdiff and extdiff
+ pgraph         - print an ASCII art rendering of the patch dependency graph
+ pmerge         - merge pending heads from dependencies into patch branches
+ pmessage       - print the patch message(s)
+ pnew           - start a new patch branch
+ pstatus        - print status of current (or given) patch branch
+ reapply        - reverts the working copy of all files touched by REV to REV
+
+TortoiseHg will provide a new task tab that shows the patch dependency graph.
+
+ .. figure:: figures/pbranch.png
+	:alt: Pbranch task tab
+
+	Pbranch task tab
+ 
+
+**Installation**
+
+As this extension is not installed with TortoiseHg, you have to download 
+it from `<http://bitbucket.org/parren/hg-pbranch>`_. Be sure to dowload the
+right one according to the Mercurial version included with TortoiseHg (see the
+wiki page on the download site).
+To test the use of this plugin, you can specify it on the Mercurial
+command line like this::
+
+	hg --config "extensions.pbranch=C:\path\to\pbranch.py" pstatus
+
+You may want to add it to your Mercurial.ini or a repository's hgrc like this::
+
+	[extensions]
+	pbranch = C:\path\to\pbranch.py
+ 
+If you do this, you can omit the --config command-line option.

File thg/manual/2.4/_sources/faq.txt

+**************************
+Frequently Asked Questions
+**************************
+
+
+*What is TortoiseHg?*
+
+	A Windows shell extension for the Mercurial revision control system,
+	similar to the Tortoise clients for Subversion and CVS. It also
+	includes a thg application for command line use on many platforms.
+
+*What comes included in the TortoiseHg binary installer for Windows?*
+
+	`Mercurial <http://mercurial.selenic.com/wiki/>`_,
+	`kdiff3 <http://kdiff3.sourceforge.net/>`_,
+	`TortoisePlink <http://www.chiark.greenend.org.uk/%7Esgtatham/putty/>`_
+	bonus extensions: hgfold, perfarce, mercurial-keyring.  fixfrozenexts,
+	python-svn for hgsubversion and convert extensions, and dulwich for
+	hg-git use.
+	See :file:`extension-versions.txt` in the TortoiseHg folder for more
+	details on the exact versions packaged.
+
+*Is Mercurial on Windows compatible with the index service and virus scanners?*
+
+	No. Like TortoiseSVN, `we recommend <http://www.selenic.com/pipermail/mercurial/2010-January/029680.html>`_
+	to turn off the indexing service on the working copies and repositories,
+	and exclude them from virus scans.
+
+*How can I get translations for the Explorer context menu?*
+
+	The available translations were stored by the installer under
+	:file:`C:\\Program Files\\TortoiseHg\\i18n\\cmenu`.  Select the
+	locale you would like to use, double-click on it, and confirm all
+	requests.
+
+*How do I do merges and arbitrary version checkouts?*
+
+	Merges and updates are intended to be done within the
+	:guilabel:`Workbench`, using changeset context menus
+
+*Why can't I connect to an ssh server (remote: bash: <server name>: command not found)?*
+
+	TortoisePlink (and basic Plink) will try to use the :guilabel:`Host
+	Name` configured in Putty under the :guilabel:`Default Settings`.
+	It adds this host name to its command line parameters, causing the
+	hostname to be specified twice, causing this particular error.
+	Clearing the host name from the :guilabel:`Default Settings` is a
+	possible workaround.
+
+*How can I use tool X as my visual diff tool?*
+
+	Since version 1.0, TortoiseHg should autodetect most popular visual
+	diff tools and make them available for selection from the
+	:guilabel:`Visual Diff Tool` item in the settings tool.
+
+*How is TortoiseHg configured?*
+
+	TortoiseHg gets configuration settings from two systems.
+    
+	1. The Mercurial configuration system, which is three-tiered
+		a. Site-wide :file:`Mercurial.ini` in :file:`%ProgramFiles%\\TortoiseHg`
+		b. Per-User :file:`Mercurial.ini` in :file:`%UserProfile%`
+		c. Per-Repository :file:`hgrc` in :file:`{repo-root}\\.hg`
+	2. The folder :file:`%APPDATA%\\TortoiseHg`:
+		a. File :file:`thg-reporegistry.xml` holds the content of the RepoRegistry.
+		b. File :file:`TortoiseHgQt.ini` contains the settings for application state (window positions, etc).
+
+	These are some of the configurables that are stored in the Mercurial
+	configuration system. ::
+	
+		[tortoisehg]
+		vdiff = vdiff
+		editor = gvim
+		tabwidth = 4
+		longsummary = True
+		authorcolor = True
+		authorcolor.steve = blue
+
+*Where do TortoiseHg extensions look for external Python modules on Windows?*
+
+	TortoiseHg includes an entire Python distribution bundled up as
+	DLLs. The standard library modules are all in the
+	:file:`library.zip` file in :file:`C:\\Program Files\\TortoiseHg`.
+
+	If you try to use an extension that imports a non-standard Python
+	module, you will find that the extension will fail to load because
+	it can't find the module. For example the ReviewBoard extension
+	imports the simplejson module, which is not part of the standard
+	Python distribution.
+
+	In order to make it work you need to add a couple of lines to the
+	top of the extension's .py file, before the line that imports the
+	foreign module::
+
+		import sys
+		sys.path.append(r'C:\path\to\module')
+
+	Note that this will not work for modules distributed as .egg files;
+	the supplied path must contain the module's .py or .pyc files.
+
+	If you have many extensions and/or hooks that all share the same
+	Python package, you can create an extension which explicitly
+	modifies sys.path for all the others.  Simply name the extension
+	such that it is loaded first (alphabetically).  Something like::
+
+		[extensions]
+		00setSysPath = C:\path\to\setsyspath.py
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/guess.txt

+Detect Renames
+==============
+
+.. module:: guess.dialog
+	:synopsis: Dialog used to detect copies and/or renames
+
+.. figure:: figures/guess.png
+	:alt: Rename guessing dialog
+
+	Rename Guessing Dialog
+
+This dialog is used to find renames, moves, and/or copies that were done
+without Mercurial's knowledge.  The dialog can be launched from the
+shell context menu, or from the status or commit tools via the context
+menu of an unknown file.
+
+Follow these steps:
+
+1) select one or more of the :guilabel:`Unrevisioned Files`
+2) slide the :guilabel:`Min Similarity` bar to the percentage match you desire
+3) uncheck :guilabel:`Only consider deleted files` to search for copies
+4) press :guilabel:`Find Rename`
+5) preview :guilabel:`Candidate Matches` and accept good matches
+6) repeat until all unrevisioned files are matched
+
+Candidate Matches
+-----------------
+
+When you select a match in this list, the differences between the two
+files are shown in the bottom pane.  Pressing :guilabel:`Accept Match`
+will record the rename or copy event with Mercurial.
+
+From command line
+-----------------
+
+The guess tool can be started from command line::
+
+	thg guess
+
+	guess previous renames or copies
+
+	use "thg -v help guess" to show global options
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/ignore.txt

+Ignore Filter
+=============
+
+.. module:: ignore.dialog
+	:synopsis: Dialog used to maintain the ignore filter
+
+The ignore dialog is used to maintain your Mercurial repository's ignore
+filter, which can be found in an :file:`.hgignore` file in the
+repository root.  The dialog can be launched from the shell context
+menu, or from the status or commit tools via the context menu of an
+unknown file.  The :guilabel:`Glob` combo allows to switch between glob
+or regexp patterns.
+
+.. figure:: figures/ignore.jpg
+	:alt: Ignore filter dialog
+
+	Ignore Filter Dialog
+
+From command line
+-----------------
+
+The ignore tool can be started from command line::
+
+	thg hgignore [FILE]
+
+	aliases: ignore, filter
+
+	ignore filter editor
+
+	use "thg -v help hgignore" to show global options
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/index.txt

+.. TortoiseHg documentation master file, created by
+   sphinx-quickstart on Tue Jul 21 13:14:26 2009.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Welcome to TortoiseHg's documentation!
+======================================
+
+.. toctree::
+	:maxdepth: 3
+	:numbered:
+   
+	preface
+	intro
+	whatsnew
+	quick
+	daily
+	settings
+	patches
+	extensions
+	nonhg
+	faq
+	debugging
+   
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/init.txt

+Create a new repository
+=======================
+
+.. module:: init.dialog
+	:synopsis: Dialog used to create a repository
+
+To create a new repository into an existing directory (project) you
+have to run the init dialog. From the explorer context menu select
+:menuselection:`TortoiseHg... --> Create Repository Here` over the directory, or, within
+the folder, type :command:`thg init`. 
+
+.. figure:: figures/init.png
+	:alt: Init dialog
+
+	Repository Init Dialog
+
+:guilabel:`Destination`
+	Is the directory where the repository will be created. It is
+	always filled with the current directory, so if you launch the
+	dialog from the right directory there is no reason to change it.
+:guilabel:`Add special files (.hgignore, ...)`
+	If selected TortoiseHg creates an empty :file:`.hgignore` file
+	in the working directory.
+:guilabel:`Make repo compatible with Mercurial <1.7`
+	If selected TortoiseHg creates an older format Mercurial repository.
+	Do not check unless you have a strong reason to do, and you know
+	what you are doing.
+:guilabel:`Show in Workbench after init`
+    When the repository was successfully created, it is added to the RepoRegistry,
+    and opened in a new tab the Workbench.
+:guilabel:`Hg command`
+    This field displays the command that will be executed by the dialog.
+
+Creating a new repository means create a subdirectory called :file:`.hg`.
+In this subdirectory Mercurial keeps all its versioning information.
+
+.. warning::
+	It is dangerous to manually edit the files in :file:`.hg` directory,
+	repository corruption can occur.  :file:`.hg/hgrc` is perhaps the
+	only exception to this rule.
+
+From command line
+-----------------
+
+The init tool can be started from command line ::
+
+	thg init
+
+The syntax is ::
+
+	thg init [DEST]
+
+where [DEST] is the path to destination folder.
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/intro.txt

+************
+Introduction
+************
+
+.. module:: introduction
+	:synopsis: Introduce TortoiseHg and its various parts
+
+What is TortoiseHg?
+===================
+
+TortoiseHg is a set of graphical tools and a shell extension for the
+`Mercurial <http://mercurial.selenic.com/wiki/>`_ distributed revision control
+system.
+
+.. note::
+	hg is the symbol for the chemical element `Mercury <http://en.wikipedia.org/wiki/Mercury_%28element%29>`_
+
+On Windows,
+	TortoiseHg consists of the Workbench graphical application, a shell
+	extension which provides overlay icons and context menus in your file
+	explorer, and a command line program named :file:`thg.exe` which can launch
+	the TortoiseHg tools.  Binary packages of TortoiseHg for Windows come with
+	Mercurial and a merge tool and are thus completely ready for use
+	"Out of the Box".
+
+On Linux,
+	TortoiseHg consists of a command line thg script and a Nautilus
+	extension which provides overlays and context menus in your file
+	explorer.  You must have Mercurial installed separately in order to
+	run TortoiseHg on Linux.  TortoiseHg binary packages list Mercurial
+	as a dependency, so it is usually installed for you automatically.
+
+.. note::
+	On Windows, TortoiseHg includes both thg.exe and thgw.exe.  The
+	latter is intended to be launched from desktop shortcuts or menu
+	entries as it will refuse to open a command console.  thg.exe is for
+	use on the console, and can provide command line help.  The thg.cmd
+	batch file that our installer adds into your PATH runs thg.exe.
+
+TortoiseHg is primarily written in Python and PyQt (the Windows shell
+extension being the notable exception).  The thg script and TortoiseHg
+dialogs can be used on any platform that supports PyQt, including Mac
+OS X.
+
+
+Installing TortoiseHg
+=====================
+
+On Windows
+----------
+
+TortoiseHg comes with an easy to use MSI installer.  You can always find
+the most up to date release on our `website
+<http://tortoisehg.bitbucket.org/download/windows.html>`_.
+Simply double click on the installer file and follow its instructions.
+
+After a first time install, a re-login is usually required to start the
+icon overlays.
+
+During upgrades, the installer will ask to close or restart any
+applications that have loaded the TortoiseHg shell extension.  If you
+allow those applications to be closed, the upgrade will not require a
+reboot or logout.  If other users are logged in, or if there are
+applications which cannot be shutdown, a reboot will be required to
+complete the install.
+
+.. note::
+	If you have a legacy version of TortoiseHg installed, the
+	installer will require that you to remove it.  The uninstall can be
+	initiated from the control panel or the start menu.
+
+.. warning::
+	Legacy uninstallers (<=0.9.3) have a tendency to delete your user
+	Mercurial.ini file, so backup your file before uninstalling the
+	older TortoiseHg versions.  This is not a problem with the newer MSI
+	packages.
+
+Legacy TortoiseHg installers (prior to version 1.0) were built with
+InnoSetup.  They installed a TortoiseOverlay package as a separate
+application, so you always saw both TortoiseHg and TortoiseOverlay as
+two applications in the *Add/Remove Programs* control panel program.
+(On x64 platforms, there were two TortoiseOverlays, one for x86
+processes and one of x64 processes).
+
+The new MSI installers for TortoiseHg include the TortoiseOverlay
+packages as "merge modules" so they do not appear as separate
+applications anymore.  It should be safe to uninstall the older
+TortoiseOverlay applications from *Add/Remove Programs* after you
+uninstalled the legacy (<=0.9.3) TortoiseHg installer, unless you have
+other Tortoise products that still use the separate TortoiseOverlay MSI
+approach (TortoiseCVS or TortoiseBZR).
+
+.. note::
+	TortoiseOverlay is a shim package that allows multiple Tortoise
+	style shell extension clients to share overlay slots.  This is
+	necessary because even modern Windows platforms only support a
+	limited number of overlay slots (11-14).  TortoiseOverlay
+	packages are created by the TortoiseSVN developers.
+
+To be completely safe, there are two approaches you can take:
+
+1) Just leave the old TortoiseOverlay packages installed.  They do not
+   harm anything.
+2) Uninstall all the old TortoiseOverlay packages, then re-install all
+   of your Tortoise products until they are all functional.
+
+Finally, if you have problems with the shell extension even after
+re-logging in, we recommend you re-run the installer and select the
+*Repair* option.  There were problems with a few versions of
+TortoiseOverlay that cause upgrades to subtly fail until the *Repair*
+process is run.
+
+
+
+Language settings
+^^^^^^^^^^^^^^^^^
+
+The TortoiseHg user interface has been translated into many languages.
+Language packs are not required since all available languages are
+installed by default.  You can select your preferred :guilabel:`UI
+Language` in the global settings tool.
+
+The Windows shell extension context menus get their translations from
+the Windows registry.  Translations for many locales were installed
+under :file:`C:\\Program Files\\TortoiseHg\\i18n\\cmenu`.  Select the
+locale you would like to use, double-click on it, and confirm all
+requests.
+
+On Linux and Mac
+----------------
+
+The most recent Linux packages can be found on our `download
+<http://tortoisehg.bitbucket.org/download/linux.html>`_ page.
+
+For Mac OS X, no packages are available but you can run thg and all the
+dialogs via the source install method. For details, see
+`Mac OS X <http://bitbucket.org/tortoisehg/thg/wiki/developers/MacOSX>`_.
+
+.. note::
+	If you install TortoiseHg from source, you need to add our
+	:file:`contrib/mergetools.rc` file to your HGRC path in some way.  One
+	approach is to *%include* it from your :file:`~/.hgrc file`.
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/nautilus.txt

+GNOME desktop integration
+=========================
+
+.. module:: nautilus
+	:synopsis: GNOME desktop integration
+
+TortoiseHg also provides shell integration with the GNOME desktop via a
+nautilus-python plugin.  If you have installed TortoiseHg from a
+distribution package, the odds are that this extension is already
+configured.  If not, please consult our Wiki for instructions on how to
+enable this feature.
+
+While the nautilus extension does not have its own GUI for managing the
+overlays and context menus, it does support command promotion into the
+top menu.  It requires you to edit your :file:`~/.hgrc` file and add
+lines like these::
+
+	[tortoisehg]
+	promoteditems = commit, log, synch
+
+.. figure:: figures/nautilus.png
+	:alt: Nautilus screenshot
+
+	GNOME/Nautilus screenshot
+
+.. vim: noet ts=4

File thg/manual/2.4/_sources/nonhg.txt

+**************************
+Use with other VCS systems
+**************************
+
+.. module:: nonhg
+	:synopsis: Describe using TortoiseHg as a front-end to other VCS
+
+This chapter describes the three most popular Mercurial extensions for
+interoperating with *foreign* VCS systems.  See also `Repository
+Conversion <http://mercurial.selenic.com/wiki/RepositoryConversion>`_
+
+.. _perfarce-perforce:
+
+Perfarce (Perforce)
+===================
+
+* `Perfarce <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_ home page.
+* `Mercurial for Perforce users <http://mercurial.selenic.com/wiki/PerforceConcepts>`_
+
+This extension modifies the remote repository handling so that repository
+paths that resemble::
+
+	p4://p4server[:port]/clientname
+
+cause operations on the named p4 client specification on the p4 server.
+The client specification must already exist on the server before using
+this extension. Making changes to the client specification Views causes
+problems when synchronizing the repositories, and should be avoided.
+
+Five built-in Mercurial commands are overridden.
+
+outgoing::
+
+	If the destination repository name starts with p4:// then this
+	reports files affected by the revision(s) that are in the local
+	repository but not in the p4 depot.
+
+push::
+
+	If the destination repository name starts with p4:// then this
+	exports changes from the local repository to the p4 depot. If no
+	revision is specified then all changes since the last p4 changelist
+	are pushed. In either case, all revisions to be pushed are foled
+	into a single p4 changelist.  Optionally the resulting changelist is
+	submitted to the p4 server, controlled by the --submit option to
+	push, or by setting **perfarce.submit** to True.  If the option
+	**perfarce.keep** is False then after a successful submit the files
+	in the p4 workarea will be deleted.
+
+pull::
+
+	If the source repository name starts with p4:// then this imports
+	changes from the p4 depot, automatically creating merges of
+	changelists submitted by hg push.  If the config option
+	**perfarce.keep** is False then the import does not leave files in
+	the p4 workarea, otherwise the p4 workarea will be updated with the
+	new files.
+
+incoming::
+
+	If the source repository name starts with p4:// then this
+	reports changes in the p4 depot that are not yet in the local
+	repository.
+
+clone::
+
+	If the source repository name starts with p4:// then this
+	creates the destination repository and pulls all changes from
+	the p4 depot into it.
+
+The **perfarce.tags** configuration option determines whether perfarce
+tries to import Perforce labels as Mercurial tags.
+
+*TortoiseHg Integration*
+
+When the perfarce extension is enabled, it adds a :guilabel:`start revision`
+configurable option to the clone tool, and a :guilabel:`P4` toolbar
+button to the sync tool.
+
+The toolbar button performs the p4pending operation.  It detects pending
+Perforce changelists that have been "push"ed to your Perforce client but
+have not been submitted, or have not been pulled back.  This opens the
+pending changelist dialog so that you can view these pending changelists
+and either submit or revert them.  If Perforce fails the submit because
+your files are out of date, you must revert the changelist, pull from
+Perforce, merge, then push again.
+
+*Installation*
+
+Perfarce comes bundled with TortoiseHg Windows installers, so you
+enable perfarce by simply adding it to your Mercurial.ini or a
+repository's hgrc like this::
+
+	[extensions]
+	perfarce=
+
+.. note::
+	The perfarce extension has been known to not work together with
+	hgsubversion, so if you plan to use both extensions they should be
+	enabled locally on the repositories that require them.
+ 
+hgsubversion (SVN)
+==================
+
+* `hgsubversion <https://bitbucket.org/durin42/hgsubversion/wiki/Home>`_ home page
+* `hgsubversion Extension <http://mercurial.selenic.com/wiki/HgSubversion>`_ wiki page
+* `Working with Subversion Repositories <http://mercurial.selenic.com/wiki/WorkingWithSubversion>`_
+
+hgsubversion, as it's name implies, allows you to use Mercurial as a
+client to a Subversion server.  It can also be used to do straight
+conversions of Subversion repositories into Mercurial.
+
+*Installation*
+
+TortoiseHg Windows installers come with the python-svn bindings that