title: Mercurial
category: page
slug: mercurial
sortorder: 0220
toc: False
sidebartitle: Mercurial
meta: Mercurial is an implementation of the source (version) control concept. Learn more Full Stack Python.


[Mercurial](https://www.mercurial-scm.org/) is a distributed open source 
[source control](/source-control.html) (also known as "version 
control") system written in Python for tracking and handling file 
modifications. Mercurial can be used as the version control system for 
Python projects.

<a href="https://www.mercurial-scm.org/"><img src="/img/logos/mercurial.png" width="100%" alt="Official Mercurial logo." class="shot"></a>

<div class="well see-also">Mercurial is an implementation of the <a href="/source-control.html">source control</a> concept. Learn how these pieces fit together in the <a href="/development-environments.html">development environments</a> chapter or view the <a href="/table-of-contents.html">table of contents</a> for all topics.</div>


### Mercurial tutorials
* The official 
  [Mercurial tutorial](https://www.mercurial-scm.org/wiki/Tutorial)
  goes through the basics. It has great examples for syntax and expected
  output.

* [Getting started with Mercurial for version control](https://opensource.com/article/19/4/getting-started-mercurial)
  seems mistitled because it is actually a short tutorial on how to build
  Mercurial extensions in Python. With a few lines of Python code it shows 
  how to create your first extension and test it.

* [Mercurial: The Definitive Guide](http://hgbook.red-bean.com/read/)
  is a free online version of the 
  [O'Reilly book](https://www.amazon.com/gp/product/0596800673).

* [Monoroke](https://github.com/facebookexperimental/mononoke) is a
  Mercurial server written in Rust designed to be used for very large
  monorepos that have thousands of commits affecting millions of files
  per hour.
