Download TortoiseHg 1.0
TortoiseHg is primarily developed for the Windows platform and consists of a collection of applications to Mercurial to be able to work. Mercurial is used by software developers, among others, to manage the source code. For more information, we refer you to this page and on this page you can see some screenshots of the user interface. The developers have released version 1.0 for both the Windows platform and an extension for Gnome/Nautilus. The announcement of TortoiseHg 1.0 looks like this:
Packaged Versions
The following products are included in our TortoiseHg Windows installers.
- Mercury 1.5
- Python 2.6.4 [1]
- GTK 2.18.7
- PyGtk 2.16.0
- python-svn 1.6.6 (for use by hgsubversion and hg convert)
- dulwich (for use by hg-git and others)
- Perfarce extension
- hgeol extension
- mercurial keychain extension
- TortoiseSVN’s doc diff scripts
- See extension-versions.txt in the install directory for the complete list of bundled extensions and modules and their versions
[1] If you used any hooks or extensions with previous versions of TortoiseHg, and those hooks or extensions added local Python site-packages to sys.path, you will have to upgrade your Python to 2.6 to stay current with TortoiseHg 1.0. Failure to do so will cause hgtk to not function correctly. You will see errors on the console about failing to import gdialog.
Behavior Changes
Entirely new installer
The new MSI installers can perform installs and upgrades/downgrades (or previous MSI installs) without reboot and perform silent installs. The MSI installer packages are now digitally signed.
There are two important details to be aware of:
- You must uninstall pre-1.0 (InnoSetup based) installers before installing 1.0. Before uninstalling the old version, backup your user Mercurial.ini file. The old installers have a tendency to delete your user Mercurial.ini file when they are uninstalled.
- There are now separate x86 and x64 installer packages. Download the appropriate package for your platform.
After the first install of an msi installer (not an upgrade or downgrade from a previously installed msi installer), a logout/login of all users is required to have the overlay icon handler initialized. The context menu works without logout/login. Later upgrade (or downgrade) installs won’t need a logout/login on Vista and Windows 7, as all affected programs are shut down by the installer and explorer is restarted automatically by the installer.
On Windows XP, a logout/login of all users after every msi upgrade or downgrade install is required. If in doubt, doing a reboot will make sure all users will get the updated files loaded.
If you don’t install any shell extension at all (overlay icons and shell context menu), then no logout/login is needed at all.
If you don’t install the 32 bit (“x86”) shell extension on 64 bit versions of Windows, there will be no need to shutdown any 32 bit programs on later upgrades/downgrades (which may be handy, because, typically, lots of programs — eg email clients, browsers — are still 32 bit only). On 64 bit Windows Vista and Windows 7, explorer is a 64 bit process, so there is no need to install the 32 bit shell extension on these systems in order to have the overlay icons and context menu working in explorer.
There are more installer details near the end of the release notes.
Branch Head Detection
In Mercurial 1.5, the ‘hg heads’ command was changed to make it more branch centric. In particular, a revision with children on other branches but no child on its own branch is still considered a branch head. For example, if you merge the head of branch A into branch B, branch A’s head is still considered a repository head even though it has a child in branch B.
TortoiseHg tries to follow along with this semantic change, primarily in the commit tool. We no longer warn of creating new heads when committing on a branch head that has children in other branches. And similarly merging heads of two branches no longer indicates the reducing of the number of heads.
Shell extension configuration removed from taskbar app
The shell extension configuration tool is now launched from its own shell context menu option named “Explorer extension settings”. The dialog no longer has a logging feature, so debugging overlay refresh issues must be done by manually starting the thgtaskbar.exe application from a command line window.
CopyHash configurable removed
The tortoisehg.copyhash configurable, marked deprecated in 0.9, was removed in this release. Use the ‘Copy Hash’ context menu option in the Repository Explorer instead.
Skip Diff Window removed
The tortoisehg.nodiffwin configurable has been made obsolete by an overhaul of the visual diff system. The system automatically detects when the visual diff window is required.
Enhancements
Visual Diff Overhaul
The visual diff infrastructure was largely overhauled in this release to detect diff tools on your computer and use them optimally. Among other improvements, it now supports visual diffs of renames and copies, as well as many common binary formats. For details, see http://tortoisehg.bitbucket.org/manual/1.0/common.html#visual-diffs
Import Dialog
TortoiseHg can now import (or qimport) patches from a dialog which supports file and folder drag-n-drop. See http://tortoisehg.bitbucket.org/manual/1.0/patches.html#import-patches for details
Perforce Integration via perfarce extension
TortoiseHg can now operate as a front end to a Perforce client via the use of the perfarce extension. See http://tortoisehg.bitbucket.org/manual/1.0/nonhg.html for details
HTTP(s)/SMTP keychain integration
The mercurial-keyring extension is now bundled. It caches passwords for HTTP(S) and SMTP requests. It must be enabled and configured to activate the cache behavior. See http://tortoisehg.bitbucket.org/manual/1.0/extensions.html#mercurial-keyring for details.
Changeset Message Links
The Repository Explorer now parses your commit messages for changeset hashes, HTTP(S) URLs, and bug tracker links. For more information, see http://tortoisehg.bitbucket.org/manual/1.0/changelog.html#message-parsing
miscellaneous
- CmdRunner widget for running interactive commands in the background (much fewer popup windows)
- Improved support for bookmark extension
- bash completion support added for hgtk
- Repository Explorer menu cleanup
- Icons for file status in Repository Explorer
- Icons in menus of Repository Explorer and other applications,
- Improved row selection logic in Repository Explorer
- Improved support for converted subversion changesets
- MQ pane added to commit tool (only visible when MQ extension is enabled)
- MQ pane supports file and directory drag/drop events
- MQ pane supports multi-selections
- Add ‘no-backup’ option to revert mode of quickop dialog
- Taskbar icon display is now configurable from shell configuration dialog
- Support for subrepos in the status/commit tool.
- Improve selection and context menu behavior of status/commit/shelve tools.
- Allow a new named branch to be created without file changes
- Merge option to discard changes from other branch (dummy/null merge)
- New layout for settings tool, new fonts page
- Layout improvements to several tools
- Ctrl-., next/prev file accelerators for several tools
- Ctrl-[] page up/down accelerators for several tools
- The About dialog will look for upgrades and offer a download link
- Tag dialog improvements
- Explorer overlays are now case insensitive
- Show context menus from “Library” folders and background in Windows 7.
Bug fixes
- #507 – commit: update .hgsubstate when checking in dirty subrepos
- #561 – status: improve display or merge diffs
- #586 – status: check files after running rename guess tool
- #709 – status: partially selected files refreshed properly
- #764 – prevent traceback in Repository Explorer
- #784 – detect and help prevent install problems on Linux
- #788 – prevent a traceback in quickop dialog
- #792 – prevent a traceback from non-standard dialog layouts
- #827 – catch up with patch API changes in Mercurial
- #834 – catch errors from launching URLs on Windows
- #844 – fix hunk selection feature, after regression
- #846 – use newer status() API after older function was removed
- #847 – re-enable toggle display of deleted files in status/commit/shelve
- #850 – patch iniparse to consider %include lines to be comments
- #860 – fix commits from context menu of commit tool
- #867 – handle case folding conflicts in icon overlays (use lower case file names everywhere)
- #870 – commit: fix parent bar refresh
- #888 – fix tracebacks in quickop dialog
- #894 – prevent crashes in quickop on early exits
- #897 – diff text pane of status/commit tool now supports max diff size
- #907 – Catch IO and other errors when saving files from other revisions
- #912 – CTRL-C in cmd.exe should not kill forked hgtk processes
- #919 – Consistent treatment of branch names and UTF-8
- #920 – disable MQ operations when a bundle is applied
- #922 – Catch errors during status refresh
- #927 – Strip leading/trailing whitespace in clone tool
- #929 – QNew will no longer include all diffs when no files were selected
- #934 – Correctly reset commit tool title after clearing a filter
- #947 – Save cherry picked patch files with raw EOLN
- #942, #959 – Improve bundle error handling
- #951 – Escape file paths on Windows if they are not safe globs
- #977 – Close init dialog on success
Installer Changes
Special thanks to Stefan Küng for fixing an issue in TortoiseOverlays for us just prior to release.
Version number | 1.0 |
Release status | Final |
Operating systems | Windows 7, Linux, Windows XP, Windows Vista |
Website | TortoiseHg |
Download | http://tortoisehg.bitbucket.org/download/index.html |
License type | GPL |