Late in 2010 I wanted to try the Distributed Revision Control and began by picking Mercurial and starting a project on Google Code. I chose Mercurial instead of Git because from what I was reading at the time Mercurial seemed to be simpler and had better integration with Windows. That Windows integration for me took the form of using TortoiseHg. My experience has been very positive so far, and I am considering moving my CodePlex projects from TFS to Mercurial in the future.

A few days ago, a new version of TortoiseHg has been available and I wanted to share my experiences in upgrading from TortoiseHg 1.1.7 to TortoiseHg 2.0.

Downloading TortoiseHg 2.0

You can get download the binaries from here: http://tortoisehg.bitbucket.org/ . Please do be aware that you’ll need to download a specific installer depending on whether you have an x86 or x64 bit Windows OS.

Installation Notes

I uninstalled TortoiseHg 1.1.7 first. For some reason it claimed I needed to reboot – irritating but OK. I rebooted. Then I installed TortoiseHg 2.0. Nothing surprising in the install. Screenshots below.

Install

Getting the Overlay Icons to Show

After installing, the overlay status icons we no longer visible in my repository. I rebooted and the icons then appeared. Later I realized that logging off and logging back on would fix this problem also.

The TortoiseHg 2.0 User Experience

Here are a few screenshots. Key things to notice is the new “TortoiseHg Workbench”

Overcoming Initial Problems in Pulling and Pushing

Of course, the first thing I tried was to click on the Pull icon in the Sync UI. Surprisingly this did not “Just Work”

For an experienced Mercurial user, this may be very obvious but for a novice such as myself this was rather confusing. After a few minutes of experimentation I resolved this by opening up the TortoiseHg Sync application …

You can see the error if I try to pull from here

I first clicked on the save icon on the right side

This brought up the Save Path dialog.

I unchecked "Remove authentication data from url" which cause the dialog to change to this

And then I clicked Save which asked me to confirm. I clicked Yes.

Then I clicked on the Lock Icon to reveal the security settings

I changed the setting the security by specifying my username as saveenr@gmail.com and entering my password and cliking Save.

After these changes, pushes and pulls worked perfectly as you can see below.

Again, I’m sure there must be an easier way to do this – but it isn’t clear to me at the moment.

Reference: Screenshots from TortoiseHg 1.1.7

To help you see the difference in the new version below are some screenshots from the previous version I had installed.