I'd like to try out a distributed revision control system. I use a couple Windows PCs, a couple PCs with Linux, and a Mac. On windows, I'd like to use Tortoise.
Are any of the Tortoises other than TortoiseSVN any good? Until recently, the knock against them has been that they are slow and buggy, but it seems like there's a new push to get them solid.
I'd rather not have to try out all three. Anyone make the switch lately and have a good experience?
I've been using TortoiseGit for a while. Whilst it's true that git's performance suffers on windows, it's going to be perfectly acceptable in most situations. Of the three that you mentioned, Git certainly has the most polished "Tortoise", in my opinion. And if you're used to using TortoiseSVN, the transition to Git should be pretty smooth, as TortoiseGit is based upon the TortoiseSVN code base and reuses a lot of it's UI and design principles.
I've personally had good experiences with TortoiseHg. It also installs the hg command-line system, so you can drop down into that if you need to (or if you prefer doing version control on the command line). There are a few quirks in the interface, but overall it's very solid (and if you use the revision graph view it looks great). Mercurial's Subversion import is also fantastic.
You can even work with Git repositories using the hg-git extension for Mercurial, as CAD bloke mentions.
I would suggest TortoiseHg. If your familiar with TortoiseSVN you can use it straight away.
You want to use it on Windows?
As of today, TortoiseHg is better than TortoiseSVN in my opinion. And it still improves very fast (I used it since version 0.4, current is 0.9.2 with Mercurial 1.4.2).
A nice feature for example: Just do a lot of refactoring in your IDE and don't care about renaming. Afterwards choose the "Guess renames" feature in the context menu and have fun. No more broken histories, because you have used your favourite renaming tool instead of 'svn move'.
Installation is really easy: Download and install TortoiseHg and just one reboot. Now you do have the current version of command line Mercurial and the SVN convert tool, too. It's nothing more than this single package.
You want to use it on Linux?
"sudo apt-get install mercurial" is all you need (on a Debian based system) to use command line Mercurial, but this version might not be the most recent one. I know, there are PPA-repositories for Ubuntu and maybe for Debian, also. So update your APT sources list, import the keys and you can install TortoiseHg with a very nice integration to Gnome.
Sorry, but I don't know about installation on Mac.
DVCS tends to be useful anyway. It tends to be more fun, no matter if you do the lone hacker scenario or work in a huge team. Plus: With clone+push+pull you also have an integrated, fast and intelligent backup.
But, there are also some disadvantages to consider:
1) If you share your work between Windows and any *nix system, you should only use ASCII characters for file names. Neither Mercurial, nor Bazaar or Git does encoding conversion like Subversion (see CharacterEncodingOnWindows). Any French accents or German umlauts will spoil your work when switching between any OS using UTF-8 and the other one.
2) You should not use a lot of large binary files. Mercurial is not designed for this purpose and I don't think, Bazaar or Git would be more fun on this.
Considering your setup, it seems somewhat unnecessary to employ distributed version control when you're only working with a few local computers. This is especially true if you're already running a function SVN server. Distributed version control tends to be a lot more useful in larger projects with lots of branching and merging going on, as distributed VCS tend to value high quality merging over everything else.
That said, Google has chosen to go with Mercurial (Hg) as their distributed version control on Google Code. Most of the reasoning had to do with speed, flexibility and ease of use. Certainly, the Hg command set looks a lot friendlier than the Git command set, in my opinion, and it tends to play well with older SVN repositories.
I really just wanted to add a comment to suggestions about TortoiseHG, but the comments are closed,
How to add the ppa repository on linux (replace oneiric by your version):
Add the following entries to package manager:
deb http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu oneiric main
deb-src http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu oneiric main
Add the following entries to package manager:
deb http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu oneiric main
deb-src http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu oneiric main
IMPORTANT: As current TortoiseHg versions often require a newer version of Mercurial itself than Ubuntu itself supplies, you will also need to add this PPA.
To configure APT to trust this repository's signing key, run:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 323293EE
If you had older versions intalled, you want to remove them first.
sudo apt-get --purge remove mercurial
sudo apt-get --purge remove tortoisehg
Step
sudo apt-get install mercurial
sudo apt-get install tortoisehg
Are you considering to switch to other VCS? Because switching to TortoiseGit/Bzr/Hg you will not be able to access SVN repositories. I'm working with GIT via TortoiseGit, but it is built on top of TortoiseSVN and have a similar performance.
If you are just looking for an alternative to use SVN, you should take a look at RapidSVN. It is still good and is way faster than Tortoise, it also runs on Mac and Linux.
Hope this helps!
Post comment Edit
You should consider Git. It is modern distributed VCS made to be very faster and flexible, It have a very large and strong community. Many big projects are utilizing Git such as Linux (Kernel) and Ruby On Rails.
More about Git: http://git-scm.com/, http://whygitisbetterthanx.com/