views:

118

answers:

3

I am completely switching for freelancing and I wanted to maintain my client codes in a Version Control system, ideally Git, SVN & Mercurial What’s is the best?

A: 

I would opt for a distributed VCS. So no SVN.
Why?

  • You don't need a server.
  • It's easier to share code without giving access to your repo
  • You can do commits without ruining code for everyone

EDIT:

  • with SVN you have a lot of .svn directories scattered in your filesystem. I like the way Git handles that better. It's easier to copy directories without the VCS-information.

EDIT END.

See http://www.youtube.com/watch?v=4XpnKHJAok8 about Git.

I personally use Git and have no idea about Mercurial.

At work I have to use SVN and I started to hate it since I switched to Git.

Hope this helps...

Martin
You don't need a server, but if you want remote backup you need somewhere to put it.
Grant Crofton
That's true. But you can start small and do your standard backup routine and add the server later. But you don't *have to* set up one
Martin
You don't *have* to set up a server for subversion either.
JeremyP
You're right. I forgot that you can use the client standalone.
Martin
+5  A: 

There is no such thing as "the best SCM".

By all means give both Mercurial and Git a try, as they are both distributed and have very similar capabilities. Don't even bother to read reviews about which is best, simply play with them and figure out which works best for you.

sm
A: 

If you're using it on your own, it really doesn't make that much difference. As important is where you keep the code - is it just on your machine on a remote repository somewhere? I use SVN with Google Code - I think that's only for open source, but there are plenty of others available.

I tried Git and found it more work than SVN, with little benefit if you're working alone - but maybe that's because I'm a Windows guy who used to GUIs!

Grant Crofton