1. Jesper Nøhr
  2. hg-website-test


hg-website-test / original / text / about.txt

Mercurial Distributed SCM

Mercurial is a free, distributed source control management tool. It offers you the power to efficiently handle projects of any size while using an easy, intuitive interface. It is easy to use and hard to break, making it ideal for anyone working with versioned files. 

Distributed architecture
Traditional version control systems such as SVN are typical client-server architectures with a central point to store the revisions of a project. In contrast, Mercurial is truly distributed, giving each developer a local copy of the entire development history. This way it works independent of network access or a central server. Committing, branching and merging are fast and cheap. 

Mercurials implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds. Therefore Mercurial is perfectly suiteable for large projects such as OpenJDK or NetBeans.

Platform independent
Mercurial was written with platform independence in mind. Therefore most of Mercurial is written in Python, with a small part written in C for performance reasons. As a result, binary releases are available on all major platforms.

The functionality of Mercurial can be increased with extensions, either by activating the official ones which are shipped with Mercurial or downloading some [from the wiki](http://www.selenic.com/mercurial/wiki/index.cgi/UsingExtensions) or by [writing your own](http://www.selenic.com/mercurial/wiki/index.cgi/WritingExtensions). Extensions are written in Python and can change the workings of the basic commands, add new commands and access all the core functions of Mercurial. 

Open Source
Mercurial is free software licensed under the terms of the GNU General Public License Version 2.

Similar projects
Mercurial is used for version control of files. Similar projects include [Git](http://git-scm.org) and [Bazaar](http://bazaar-vcs.org), and other version control systems without a distributed architecture include [Subversion](http://subversion.tigris.org/) and [CVS](http://www.nongnu.org/cvs/).