Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. Mercurial was initially written to run on Linux. It has been ported to Windows, Mac OS X, FreeBSD and most Unix-like systems. Mercurial is primarily a command line program but graphical user interface extensions are available. All of Mercurial's operations are invoked as keyword options to its driver program hg, a reference to the chemical symbol of the element mercury.

Mercurial's major design goals include high performance and scalability, decentralized, fully distributed collaborative development, robust handling of both plain text and binary files, and advanced branching and merging capabilities, while remaining conceptually simple. It includes an integrated web interface.

The creator and lead developer of Mercurial is Matt Mackall. Released under the terms of the GNU General Public License (version 2 or any later version), Mercurial is free software. Read more.

Mercurial and SCC Package for Visual Studio 2010
I'm using minimalistic setup consisting from Mercurial itself (without TortoiseHg) and Mercurial SCC Package AKA HgScc - perfect tool by Sergey Antonov :
1. Download and install Mercurial.
2. Download and install Mercurial SCC Package.
3. After install in Visual Studio: Tools => Options => Source Control => Plug-in Selection - select Mercurial Source Package.

Why I like it
1. It's clean. Mercurial repository uses only one folder in your solution, so your project is always clean (CVS or SVN - huh?).
2. It's simple. You have almost same experience as with TFS  - change file, check-in with comment, check history changes and diff.
3. It's small. Mercurial is not saving files, it's saving changes.