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:

  • How to handle files committed to Git on Linux with invalid Windows filenames?
  • Merging multiple Git repositories with tags
  • Using GCC Through Git Bash
  • Batch convert text files from LF line endings to CRLF
  • Git post-receive hook not working
  • On downloading Android source, all I get are a bunch of empty folders
    • 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.

  • Pass parameters to git pre-push hook
  • WAR files and Subversion
  • Is it better to use git grep than plain grep if we want to search in versioned source code?
  • GIT diff says OLD mode is 100644 and new mode is 100755, but nops
  • Can I completely remove the history of all files in selected subdirs of my repo?
  • Should ipynb checkpoints be stored in git?
  • 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.