26

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?

Jon Seigel
  • 12,251
  • 8
  • 58
  • 92
Nosredna
  • 83,000
  • 15
  • 95
  • 122
  • I've used Tortoise HG for at least a couple years for production work. However, once you get comfortable with command line, you won't use it any more. I haven't used mine for at least a year. – Marcus Adams Feb 21 '17 at 14:38
  • I think the industry has chosen Git as the next source code repo of choice. – Software Engineer Feb 21 '17 at 16:01
  • I don't know... I just find all of the Tortoises to be a little bit... SLOW! BLAGH! BLAGH! BLAGH! BLAGH! – Andrew Mar 19 '19 at 03:47

6 Answers6

55

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.

Paul Fisher
  • 9,618
  • 5
  • 37
  • 53
  • 3
    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 Aug 18 '09 at 16:00
  • 2
    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 Aug 18 '09 at 16:45
  • 2
    You can also push / pull from Git repos. See http://jamesmckay.net/tag/hg-git/ – CAD bloke Mar 07 '11 at 09:11
  • I find TortoiseHg *a lot* nicer to work with that TortoiseSVN and TortoiseGit. – Svish Jan 17 '12 at 20:23
  • Indeed. Even though TortoiseHG has the name "Tortoise" in it, unlike TortoiseGit it does not even try to mimic TortoiseSVN / TortoiseCVS. TortoiseHG, unlike TortoiseGit, actually models proper DVCS workflow. – chris Mar 06 '13 at 16:25
  • As a sidenote, I am quite frustrated that there still isn't a good free Windows front-end for Git available for Windows. As much as I'd like to use Git over Hg because I think it's a superior VCS, I can't get my colleagues to switch from SVN as long as there isn't a proper front end available. TortoiseHg is in fact the only reason I am advocating Hg over Git in my company (but, obviously, any one of them over SVN :-)). – chris Mar 06 '13 at 16:28
21

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.

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
tony
  • 211
  • 2
  • 2
7

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
  • 1,799
  • 13
  • 13
  • 9
    I have found TortoiseGit to be a fairly unpolished experience and running into problems working with the most basic of commands. – Nathan Palmer Apr 04 '10 at 04:22
  • 5
    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 Aug 02 '10 at 23:09
  • 6
    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 Sep 28 '10 at 12:54
2

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
  • 88,194
  • 49
  • 192
  • 260
  • 1
    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 May 31 '09 at 03:33
  • 1
    Distributed VCSs rock, because they work with code in terms of *changesets* rather than *revisions*. – bohdan_trotsenko May 06 '10 at 09:16
  • 2
    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?' – bohdan_trotsenko May 06 '10 at 09:18
1

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):

  1. 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 
    
  2. 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.

  3. To configure APT to trust this repository's signing key, run:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 323293EE
    
  4. If you had older versions intalled, you want to remove them first.

    sudo apt-get --purge remove mercurial
    sudo apt-get --purge remove tortoisehg
    
  5. Step

    sudo apt-get install mercurial
    sudo apt-get install tortoisehg
    
tanascius
  • 53,078
  • 22
  • 114
  • 136
PatrickT
  • 10,037
  • 9
  • 76
  • 111
  • The numbering above is supposed to be 1,2,3,4,5. And the commands are supposed to be in gray (isn't that what the 4 empty spaces are supposed to do?)... – PatrickT Jan 12 '12 at 16:53
  • I have edited the formatting, simply removing the 4 spaces and putting the word Step in front of the numbers, to get the 1,2,3,4,5 sequence back. – PatrickT Jan 12 '12 at 19:16
  • One reason for posting this information here is that launchpad.net has the following, which didn't work for me (error 404) deb https://launchpad.net/~mercurial-ppa/+archive/releases oneiric main – PatrickT Jan 12 '12 at 19:19
0

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
  • 5,621
  • 4
  • 25
  • 27