Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git/Mercurial (hg) opinion

Tags:

git

mercurial

First, let me say I'm not a professional programmer, but an engineer who had a need for it and had to learn. I was always working alone, so it was just me and my seven split personalities ... and we worked okey as a team :) Most of my stuff is done in C/Fortran/Matlab and so far I've been learning git to manage it all. However, although I've had no unsolvable problems with it, I've never been "that" happy with it ... for everything I cannot do, I have to look up a book. And, for some time now I've been hearing a lot of good stuff about Mercurial.
Now, a colleague of mine will have to work with me on a project (I almost feel sorry for him) and he's started learning Mercurial (says he likes it more), and I'm considering the switch myself.

We work almost exclusively on Windows platform (although I manage relatively ok using Unix tools and things that come from that part of the world).

So, I was wondering, in a described scenario, what problems could I expect with the switch. I heard that Mercurial is rather more user friendly towards windows users, regarding the user interfaces.

How does it handle repositories ? Does it create them the same way as git does (just one subdirectory in a working directory) and can I just copy the whole project directory (including git repo) and just carry them somewhere with no extra thinking ? (I really liked that when I was choosing over git/svn).

Are there any good books on it that you can recommend (something like Pro Git, only for Mercurial).

What are good ways to implement Mercurial into Visual Studio/GVim for Windows, or into Windows Explorer so I can work relatively easily (I would like to avoid using the command line for everything regarding it, like in git shell).

Is there something else I should be aware of (please, on this don't point me to other questions ... they just give me a ton of info, and I'm not sure what is it that I should take as important, and what to disregard). I'm trying to cut some time, since I cannot spend all that time relearning Mercurial, like I did for git.

I've also heard git is c project, while mercurial is python ... is there any noticeable difference in speed. git was pretty speedy ... will I encounter some waiting while working.

Notice: All my projects are of let's say, middle size ... mostly numerical simulations ... 10-15000 lines (medium size?)

like image 890
richard Avatar asked Mar 26 '10 22:03

richard


People also ask

Should I use Git or Mercurial?

Git Is Better for Experienced Users Mercurial depends on your level of technical expertise. Mercurial may be safer for less experienced users, but Git can offer ways to enhance safety (once you know what you are doing).

Is Mercurial still being used?

Bitbucket Mercurial Support Ended July 1, 2020 Bad news for Mercurial users: Atlassian has removed support for the Mercurial version control system from Bitbucket Cloud and its API. Mercurial repositories and features were officially removed from Bitbucket and the API on July 1, 2020.

Is Mercurial deprecated?

Bitbucket announced that its web-based version control services would end support for Mercurial in June 2020 (then extended to July 2020), explaining that "less than 1% of new projects use it, and developer surveys indicated that 90% of developers use Git".


1 Answers

Git Pros:

  • Ultrafast (scales well to very large projects)
  • Extreme flexibility
  • C tools that fit in well with the Unix philosophy

Git Cons:

  • Steep learning curve
  • GUI tools exist, but (IMO) are not all that solid

HG Pros:

  • Very fast (though not as fast as GIT) -- Delays shouldn't be a significant problem on a project of 15-20k lines
  • Nice GUI tools, even on Windows (TortoiseHg is good and very mature, and there are others as well)
  • Well documented, and even the windows version has a nice GUI with a graphical view of changesets
  • Slightly easier learning curve than GIT (imo)

HG Cons:

  • Somewhat slower than git
  • Possibly a little bit less flexible

There are other significant differences, but these are the most significant in my mind. Honestly, if I were mostly working on Windows, I would go probably go with Mercurial.

like image 107
jsight Avatar answered Sep 20 '22 04:09

jsight