Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TortoiseGit, TortoiseBzr, TortoiseHg. Are any solid enough to switch from TortoiseSVN? [closed]

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?

like image 947
Nosredna Avatar asked May 31 '09 02:05

Nosredna


5 Answers

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.

like image 200
Paul Fisher Avatar answered Nov 10 '22 16:11

Paul Fisher


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.

like image 29
tony Avatar answered Nov 10 '22 14:11

tony


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.

like image 7
Nick Avatar answered Nov 10 '22 14:11

Nick


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.

like image 2
Soviut Avatar answered Nov 10 '22 15:11

Soviut


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
    
like image 1
PatrickT Avatar answered Nov 10 '22 15:11

PatrickT