views:

3946

answers:

5

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?

+1  A: 

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/

Eduardo Cobuci
I'd like to try out one of the distributed revision control systems.
Nosredna
@Eduardo Cobuci, so it seems to you that TortoiseGit is as robust and efficient as TortoiseSVN?
Nosredna
unfortunately not so, but I found it good enough. The development is very active and I think it became a very reasonable option.
Eduardo Cobuci
+1  A: 

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.

Soviut
I'd like to get up to speed with one of the new distributed systems, so I'm ready to jump in to one if I have to for work. Also, I*'d like to junk the old piece-of-crap I'm using to host my SVN server. I think it's half my electric bill. :-) But mostly, just intellectual curiosity.
Nosredna
Distributed VCSs rock, because they work with code in terms of *changesets* rather than *revisions*.
modosansreves
I have completely moved off from SVN to HG recently because of cheap cloning I have got so accustomed to. I recommend reading www.hginit.com by Joel Spolsky for people thinking 'Why should I consider distributed VCS?'
modosansreves
+5  A: 

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.

Nick
I have found TortoiseGit to be a fairly unpolished experience and running into problems working with the most basic of commands.
Nathan Palmer
Note that TortoiseGit preserves the SVN model, which means that some Git concepts, most significantly the staging area, are not supported. People coming from SVN may find this advantageous, but people familiar with Git may be disoriented.
jdigital
TortoiseSVN is by far the most polished Tortoise app, there is nothing to talk about. I hope that someday TortoiseGit will be close enough polished to TortoiseSVN and when I say "polished" i don't mean "copied", because Git ideology suffers from SVN design decisions.
Tomasz Kowalczyk
+20  A: 

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.

Paul Fisher
Does it have support for some kind of hg-svn bridging, if the rest of my team is not ready yet to switch from svn?
Avi
I've only used the import tool personally, but there are lots of options available. hgsubversion appears to be the most complete. http://mercurial.selenic.com/wiki/WorkingWithSubversion
Paul Fisher
+2  A: 

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 http://mercurial.selenic.com/wiki/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.

tony
www.hginit.com will be helpful
modosansreves