Download
Source archives and binary packages for various systems. See WhatsNew for information on upgrading.
Contents
1. Binary packages
1.1. Windows
Like TortoiseSVN, we recommend turning off the indexing service on the working copies and repositories, and excluding them from virus scans.
Windows installers are available on the downloads page
1.2. Mac OS X
Mac OS X packages are available on the downloads page
Fink: install with 'fink install mercurial' - 3.3
macports: install with 'sudo port install mercurial' - 3.3
homebrew: install with 'brew install mercurial' - 3.8.1
TortoiseHg for Mac available here - 3.7.3
1.3. Linux (.deb)
Debian
Debian sid (unstable) - 5.5.2
Debian bullseye (testing) - 5.5.2
Debian buster (stable) - 4.8.2
Ubuntu
Ubuntu Groovy - 5.5.1
Ubuntu Focal - 5.3.1
Ubuntu Bionic - 4.5.3
Ubuntu Xenial - 3.7.3
Mercurial (from 1.0 onwards) is packaged for Debian-related distributions as two packages, mercurial and mercurial-common - you only need to care about this if you are downloading .deb files for manual installation - otherwise, APT dependency handling will take care of this for you when you install mercurial.
Another way to get .deb packages is to build them from a Mercurial source repository with make deb (builds on local system) or make docker-<distro>-<codename> (e.g. docker-debian-stretch or docker-ubuntu-bionic, see contrib/packaging/Makefile).
To get the latest Mercurial version, instead of the old versions listed above, try:
sudo add-apt-repository -y ppa:mercurial-ppa/releases sudo apt-get update sudo apt-get install -y python-pip python-dev sudo pip install mercurial --upgrade
(see the full answer on stackoverflow)
1.4. Linux (.rpm)
Since Mercurial version 3.4, the Mercurial project provides packages for the following systems:
You can download, install and upgrade the packages manually.
You can also add it as a "yum" package repository and get automatic updates: Add the following file at /etc/yum.repos.d/mercurial.selenic.com.repo and run yum install mercurial.
[mercurial.selenic.com] name=mercurial.selenic.com baseurl=https://www.mercurial-scm.org/release/centos$releasever enabled=1 # Temporary until we get a serious signing scheme in place, # check https://www.mercurial-scm.org/wiki/Download again gpgcheck=0
Mercurial is stable and won't break on automatic updates. Mercurial do however not promise API stability so an update might break extensions or tools using Mercurial internals.
Similar Fedora packages can be built from a Mercurial source repository with commands like make docker-fedora21. "Unsupported" platforms can use contrib/buildrpm directly.
You can also install the package from your distribution
Mandriva: install with urpmi mercurial - latest revision available
Fedora - latest version is available within few days after release, install with yum install '*mercurial*'
Fedora Projects EPEL for RHEL and CentOS 5: 1.3.1, install with yum install '*mercurial*'
openSUSE - latest version is available shortly after release in the devel:tools:scm repository
Ark Linux - 1.6.2
OpenPKG - 1.4
1.5. Linux (others)
Arch Linux - 4.6.2
Gentoo ebuild: install with emerge mercurial - 4.6.2
T2 SDE - 4.6.2
Slackware - 4.6.2
Optware cross compilation ipk - latest for Python 2.4 and 2.5
1.6. Solaris
unixpackages.com - SPARC/Solaris 2.6-10 packages, x86/Solaris 8-11 packages - 2.3 (8 & 9), 4.2 (10 & 11)
OpenCSW: solaris package mercurial-3.8.2, sparc/solaris, x86/solaris.
1.7. AIX
Mercurial for AIX 5.2 and later - 3.0.2
1.8. BSD
1.9. Plan 9 from Bell Labs
To build from source, see: Plan9FromBellLabs
- Binary packages are available from fgb's contrib:
% contrib/install stallion/mercurial
1.10. Other
If you didn't find your favorite distro/package manager above, or if the package version listed on this wiki page seems too old, try https://repology.org/metapackage/mercurial/versions.
2. Source packages
Source code of released versions of Mercurial can be downloaded as usual .tar.gz files at https://www.mercurial-scm.org/release/.
The hg-stable repository leads to stable releases - download snapshot.
The hg repository is the main development repository - download snapshot.
Check DeveloperRepos for other relevant developer repositories where you can clone the hg source.
After getting the source, continue to UnixInstall or WindowsInstall for help with installing.
3. Using pip
Mercurial can also be installed from PyPI with pip, which has shipped with Python since 2.7.9 and 3.4 or can be installed using the instructions on https://pip.pypa.io/en/stable/installing.html.
To install with pip you must have the same C compiler used to compile Python installed as well as the development headers for Python (typically called python-dev or python-devel on Linux).
You may then install Mercurial simply by executing pip install Mercurial.
4. Using conda
Conda is a cross-platform package manager with a focus on Python. You can install mercurial into a python2.7 conda environment with the following invocation:
conda install -c conda-forge mercurial
This should work on OSX, Windows, and Linux. If you would like to update the conda package, see the instructions at https://github.com/conda-forge/mercurial-feedstock
5. Using easy_install
easy_install is a legacy installation method which has been superseded by pip which should be preferred over easy_install. This method should not be used and is not recommended and will most likely cause conflict with other installs of Mercurial.
Mercurial can also be installed from pypi with easy_install. You will need Python and the C compiler used to build it and easy_install. easy_install might be available in a python-dev or python-setuptools-devel package for your platform or you can grab it from http://peak.telecommunity.com/DevCenter/EasyInstall.
Unable to find vcvarsall.bat fix error with mingw and install mercurial 1.7.3 with python 2.7
Create a file in C:\Python26\Lib\distutils and call it distutils.cfg [build] compiler=mingw32
With the right prerequisites you can install the latest version of Mercurial using:
easy_install -U mercurial
Source repository
You can get Mercurial using Mercurial:
https://www.mercurial-scm.org/repo/hg/ my-mercurial-clone cd my-mercurial-clone hg up "max(tagged())" make install