Local only, revision/version/source control

From what I’ve read: Subversion, Git, Mercurial, Bazaar are good version control software.
Subversion is a server based one.

But what is the best (and I encourage adding your own) system when the only requirements are:

  • simplicity – single-user / local
  • I want to “go back (and forward) in time”
  • integrates well with Visual Studio 2010.

This will be used with C++ if that matters and maybe C# in the future. I don’t really want it to be cluttered by server interface things that I’ll never use. The backward and forward I suppose implies branching.

  • Teamcity not uploading green builds
  • How to remove an unused GIT branch in Xcode?
  • Using Git, what's the best way to subtree merge an external project that has submodules?
  • I ran into a merge conflict. How can I abort the merge?
  • How can I automatically add a datestamp field to a java class marking a commit date
  • Which Distributed Source Control System has the best integration with Windows & Visual Studio?
  • File or directory 'shelves' is out of date; try updating - BitBucket Server Svn Mirror
  • How to push git master branch to trunk of a new SVN repository
  • 3 Solutions collect form web for “Local only, revision/version/source control”

    If you are thinking about SVN then choose Hg instead, it’s much better at branching and is decentralized. SVN is not. GIT, on the other hand, is but a lot of people use it centralized anyway (github, for instance).

    It does not really matter what language you’re gonna write in.

    If you want to use Hg with Visual Studio then perhaps VisualHG is the thing for you.

    Out of these, I would say Mercurial is your best bet. It is:

    1. is well-supported on Windows, unlike git (historically)
    2. is supported within Visual Studio (see the list of tools)
    3. handles merges better than svn (and make no mistake, you will eventually merge something)
    4. requires marginally less setup than svn, as there’s no notion of a “central” repository to set up.

    For visual studio integration AFAIK bazaar doesn’t have any and git’s is probably a bit behind the curve compared to svn (visualSvn or ankhSvn) and hg (certainly if you want explorer integration as well as vs)

    This gives you a choice of mercurial or subversion. a DVCS or CVS. for a single developer there is not so much to choose here but personally I’d go for mercurial. svn lacks some useful features like bisect and is generally seen as poor at merging. hg will also allow you to more easily break out of single developer mode in the future, should you want to start to share your project with others.

    Git Baby is a git and github fan, let's start git clone.