views:

158

answers:

1
+1  Q: 

Mercurial or Git

Hello I need a good SCM with integration in Visual Studio 2010 and ability to work over internet, I mean other users should be able to checkin/checkout files through internet/network. I saw Git and its Extensions but I had problem with VS Integration. Its toolbar buttons and menu items didn't respond to my clicks, it just did nothing. I tried reinstalling it several times but without success. If you have a solution on this issue, please let me know. Also a big advantage would be to use that SCM with my Qt projects, Qt Creator supports both mercurial and git. So what would suggest? which one should I choose?

+1  A: 

I would strongly suggest git.

Git is by far the more popular of the two so if you're looking to get people interested in collaborating on an open source project git is an attractive selling point. I've also worked with mercurial and subversion repositories and I've found git to be easiest to use and mercurial the most difficult.

Also, if you're looking to setup a free git repository you should go to github.com. For mercurial try code.google.com .

Hope my opinion helps, good luck!

Rob S.
Thanks for the answer rob. The problem is that I want the repository server to be on my pc, not on the cloud. Is it possible to configure Server and client without a big headache?
Davita
Yes you can create a local repository that never leaves your pc. I would recommend using a client like http://www.syntevo.com/smartgit/index.html to do so.
Rob S.
Just realized: If you're talking about using a private online repository you can pay github a small monthly fee to keep your repositories private or you can set-up a private repository on your own without too much headache. There is a guide to this I use here (assuming your server runs linux like most do): http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt
Rob S.
Git Extensions won't work? It's free after all :) and I want to run the server on windows, not linux or any other os.P.S. Yes, I want a private repository, with a team not larger than 4 dev.
Davita
It's probably not a good idea to use VS's git extensions but instead to use a client like the one I showed you before ( http://www.syntevo.com/smartgit/index.html ) to transfer code between your pc and an online git repository. Also, here is a guide for setting up an online git repository on a windows server: http://www.shannoncornish.com/blog/2009/04/git-server-windows-2008/
Rob S.
Thank you rob very much for your support, I really appreciate it. But there is a but, if I use another client, it won't be integrated in VS anymore right? and could you be more specific on git extensions? Why it's not a good idea to use it with online repository?Thanks again :)
Davita
Actually, the client will do the same thing as the VS extensions. You'll just use your git commands out side of VS. If you store all your source and VS project files in your git repository you will be just fine and still able to develop your program in VS. And I'm guessing that the VS extensions are not good to use because I did a little googling and it seems a lot of people are having problems with them. And no problem, Im happy to help you :)
Rob S.
Ook, looks like Git is not for me :) I want something like MS SourceSafe, with a good integration in VS. no command lines, no external apps and not a big learning curve. I only have experience with SourceSafe, so I can say that I'm new to SCMs. I could use SourceSafe but it's not compatible with QtCreator. Maybe there's some other SCMs which works on VS and QtCreator too? My question looks very noob but as I said, I have no experience with them :)
Davita
The client I showed you is completely graphical and extremely user friendly. Even much more so than VS. As long as you place all of your project and source files into your git you shouldn't have a problem. I recommend creating a hello world project and a git on github.com and experimenting with storing and downloading your code so you can get a feel for how git works. Once you play with a working a git, I'm sure you will fall in love with it. Afterwards, I would look at setting up your own private git on your own server. Best of luck.
Rob S.
Since it seems Mercurial is only other option I really have to implore you to use git as mercurial truly is infinitely more difficult to set up (not to mention its general unpopularity)
Rob S.
Yes, I installed mercurial and it works like a charm :) it was very easy to install, an it has a great integration with VS and QtCreator :) I used TortoiseHG and VisualHG. Thanks for your support :)
Davita
Well use whatever works I guess. Glad you got something working :) PS: I use Tortoise HG for mercurial as well ;)
Rob S.