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:

  • What is the difference between pull and clone in git?
  • Adding Git to PATH Variable - Can't find GitHub under AppData/Local
  • git: Is an unannotated tag worse than a tag with a bad annotation?
  • Git: pre-receive hook with PHP_CodeSniffer
  • Libgit2Sharp: get files in all commits between two tags
  • Limiting file size in git repository
    • 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.

  • How can I make Jenkins CI with git trigger on pushes to master?
  • How does Git fetch changes from an UNC path?
  • Choosing a source control system: logical next steps after VSS
  • Started a branch too late, change the parent of my branch
  • How to resume a git pull/clone after a hung up unexpectedly?
  • “Git Log” command in Powershell - unable to terminate process
  • 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.