I have some friends that are potentially interested in learning to use a version control system for our upcoming master theses (Latex document and various programming). I'm not talking about anything huge and complicated here, just to use it for backup, looking at old revisions and some basic branching and merging.
However, I think it's a good idea to choose one that's somewhat easy to learn for a beginner. So the question is, which version control system would you recommend to someone that's new to such things to learn?
Personally I've been using Git and Mercurial a bit and at the moment I think I'm leaning towards Mercurial. I haven't tried Bazaar though.
So far this is my impressions on features suitable for new users:
Mercurial
Pros:
- Revision numbering
- Easy to checkout an old commit, work on it and merge it in
- Easy merging directly with a mergetool
- Easy branching (?)
- Nice plugins like glog
Cons:
- Branches and bookmarks can both be used for what Git calls branching - could be a bit confusing
- Doesn't give much information about what's done/wrong when a command is executed
Git
Pros:
- Full control (gives the impression of it at least)
- Detailed help and information when something goes wrong
Cons:
- Some difficult concepts (like the staging area)
- Some branching operations can be a bit difficult
Bazaar
Haven't tried it...
What do you think? Please follow the good subjective guidelines here when answering.