9070
Comment: update TortoiseHg and Mercurial MSI/Python module installers
|
11674
update versions in debian-like
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
/!\ '''Like TortoiseSVN, [[http://www.selenic.com/pipermail/mercurial/2010-January/029680.html|we recommend]] turning off the indexing service on the working copies and repositories, and excluding them from virus scans.''' | /!\ '''Like TortoiseSVN, [[https://www.mercurial-scm.org/pipermail/mercurial/2010-January/029680.html|we recommend]] turning off the indexing service on the working copies and repositories, and excluding them from virus scans.''' |
Line 12: | Line 12: |
||[[https://foss.heptapod.net/mercurial/tortoisehg/thg/-/wikis/home|TortoiseHg]] ||[[https://www.mercurial-scm.org/release/tortoisehg/windows/tortoisehg-5.4.2-x86.msi|32-bit]] ||[[https://www.mercurial-scm.org/release/tortoisehg/windows/tortoisehg-5.4.2-x64.msi|64-bit]] ||All-in-one installer with TortoiseHg 5.4.2 and Mercurial 5.4.2; comes with Windows Explorer "shell" integration. || ||MSI installers ||[[https://bitbucket.org/tortoisehg/files/downloads/mercurial-4.7.1-x86.msi|32-bit]] ||[[https://bitbucket.org/tortoisehg/files/downloads/mercurial-4.7.1-x64.msi|64-bit]] ||Needs admin rights to install, less friendly with manually installed extensions than !InnoSetup version. || ||5.1 !InnoSetup-based installer (exe) ||[[https://mercurial-scm.org/release/windows/Mercurial-5.1.exe|32-bit]] ||[[https://mercurial-scm.org/release/windows/Mercurial-5.1-x64.exe|64-bit]] ||Does not require admin rights to install. || ||Python 2 modules ||[[https://bitbucket.org/tortoisehg/files/downloads/mercurial-4.7.1.win32-py2.7.msi|32-bit]] ||[[https://bitbucket.org/tortoisehg/files/downloads/mercurial-4.7.1.win-amd64-py2.7.msi|64-bit]] ||Installs Mercurial source as Python modules, requires [[https://www.python.org/downloads/release/python-2712/|Python 2.7]] installed. Recommended for hgweb setups and extensions with non-standard dependencies. || ||[[https://cygwin.com/|Cygwin]] ||||||<style="text-align:center">Can install Mercurial, but abstraction layers introduce a potential source of error. Not recommended. || ||HackableMercurial ||||||<style="text-align:center">Self-contained install that allows easy hacking on the Mercurial source and testing of unreleased versions. || |
|
Line 13: | Line 19: |
* [[http://tortoisehg.bitbucket.org/download/index.html|TortoiseHg with Windows Explorer "shell" integration]] all-in-one installer with TortoiseHg 3.1 and Mercurial 3.1 (alternate download: [[https://bitbucket.org/tortoisehg/files/downloads|Bitbucket]]) * [[https://bitbucket.org/tortoisehg/files/downloads/mercurial-3.1.0-x86.msi|Mercurial-3.1 (32-bit msi)]] / [[https://bitbucket.org/tortoisehg/files/downloads/mercurial-3.1.0-x64.msi|Mercurial-3.1 (64-bit msi)]], needs admin rights to install, less friendly with manually installed extensions than !InnoSetup version * [[http://mercurial.selenic.com/release/windows/Mercurial-3.1.exe|Mercurial-3.1 (32-bit exe)]] / [[http://mercurial.selenic.com/release/windows/Mercurial-3.1-x64.exe|Mercurial-3.1 (64-bit exe)]], does not need admin rights to install (!InnoSetup based). * [[https://bitbucket.org/tortoisehg/files/downloads/mercurial-3.1.win32-py2.7.exe|Mercurial-3.1 (32-bit py2.7)]] / [[https://bitbucket.org/tortoisehg/files/downloads/mercurial-3.1.win-amd64-py2.7.exe|Mercurial-3.1 (64-bit py2.7)]], installs Mercurial source as Python modules and thus requires [[http://www.python.org/download/releases/2.7.5/|Python 2.7]] installed. This is recommended for hgweb setups and extensions with non-standard dependencies. * [[http://cygwin.com/|cygwin]] can install Mercurial, but the cygwin abstraction layers introduces a potential source of error and is not really recommended. * HackableMercurial is a self-contained install that allows easy hacking on the Mercurial source and testing of unreleased versions |
|
Line 23: | Line 25: |
* Mac OS X packages are available on the [[http://mercurial.selenic.com/downloads|downloads page]] * [[http://pdb.finkproject.org/pdb/package.php/mercurial-py25|fink]] - 1.2.1 * [[https://trac.macports.org/browser/trunk/dports/devel/mercurial/Portfile|macports]]: install with 'sudo port install mercurial' - 1.9 (on 2011-07-04) |
* Mac OS X packages are available on the [[https://www.mercurial-scm.org/downloads|downloads page]] * [[http://pdb.finkproject.org/pdb/package.php/mercurial|Fink]]: install with 'fink install mercurial' - 3.3 * [[https://trac.macports.org/browser/trunk/dports/devel/mercurial/Portfile|macports]]: install with 'sudo port install mercurial' - 3.3 * [[https://github.com/Homebrew/homebrew-core/blob/master/Formula/mercurial.rb|homebrew]]: install with 'brew install mercurial' - 3.8.1 * TortoiseHg for Mac available [[https://bitbucket.org/tortoisehg/files/downloads|here]] - 3.7.3 |
Line 29: | Line 33: |
* [[http://packages.debian.org/sid/mercurial|Debian sid (unstable)]] - 2.8.2. * [[http://packages.debian.org/jessie/mercurial|Debian jessie (testing)]] - 2.7.2. * [[http://packages.debian.org/wheezy/mercurial|Debian wheezy (stable)]] - 2.2.2. (2.7.2 available as a [[http://packages.debian.org/wheezy-backports/mercurial|wheezy backport]]) * [[http://packages.debian.org/squeeze/mercurial|Debian squeeze (oldstable)]] - 1.6.4 (2.2.2 available as a [[http://packages.debian.org/squeeze-backports/mercurial|squeeze backport]]) |
* [[https://packages.debian.org/sid/mercurial|Debian sid (unstable)]] - 5.5.2 * [[https://packages.debian.org/bullseye/mercurial|Debian bullseye (testing)]] - 5.5.2 * [[https://packages.debian.org/buster/mercurial|Debian buster (stable)]] - 4.8.2 * [[https://packages.debian.org/stretch/mercurial|Debian stretch (oldstable)]] - 4.0 |
Line 34: | Line 38: |
* [[http://packages.ubuntu.com/hardy/mercurial|Ubuntu Hardy]] - 0.9.5 ([[http://packages.ubuntu.com/hardy-backports/mercurial|1.0.1]] available if you [[https://help.ubuntu.com/community/UbuntuBackports|enable backports]]) * [[http://packages.ubuntu.com/intrepid/mercurial|Ubuntu Intrepid]] - 1.0.1 * [[http://packages.ubuntu.com/jaunty/mercurial|Ubuntu Jaunty]] - 1.1.2 * [[http://packages.ubuntu.com/karmic/mercurial|Ubuntu Karmic]] - 1.3.1 * [[http://packages.ubuntu.com/lucid/mercurial|Ubuntu Lucid]] - 1.4.3 * [[http://packages.ubuntu.com/maverick/mercurial|Ubuntu Maverick]] - 1.6.3-1 * [[http://packages.ubuntu.com/natty/mercurial|Ubuntu Natty]] - 1.7.5-1ubuntu1 * '''Launchpad PPAs''' (carrying packages for Lucid, Precise, Trusty) * [[https://launchpad.net/~mercurial-ppa/+archive/releases|Releases]] - 3.0.1 * [[https://launchpad.net/~mercurial-ppa/+archive/stable-snapshots|Stable snapshots]] - daily snapshot of stable DeveloperRepos (warning: untested code) * [[https://launchpad.net/~mercurial-ppa/+archive/snapshots|Snapshots]] - daily snapshot of unstable DeveloperRepos (warning: untested code) |
* [[https://packages.ubuntu.com/groovy/mercurial|Ubuntu Groovy]] - 5.5.1 * [[https://packages.ubuntu.com/focal/mercurial|Ubuntu Focal]] - 5.3.1 * [[https://packages.ubuntu.com/bionic/mercurial|Ubuntu Bionic]] - 4.5.3 * [[https://packages.ubuntu.com/xenial/mercurial|Ubuntu Xenial]] - 3.7.3 |
Line 48: | Line 45: |
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 Source: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 [[https://stackoverflow.com/a/15773831/410713|stackoverflow]]) |
|
Line 49: | Line 57: |
Since Mercurial version 3.4, the Mercurial project provides packages for the following systems: * [[http://www.mercurial-scm.org/release/centos5/RPMS/x86_64/|Centos 5]] (includes a python2.7 install) * [[http://www.mercurial-scm.org/release/centos6/RPMS/x86_64/|Centos 6]] * [[http://www.mercurial-scm.org/release/centos7/RPMS/x86_64/|Centos 7]] 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 |
|
Line 56: | Line 89: |
An RPM package can be built from a Mercurial source repository with ''contrib/buildrpm''. It has currently mostly been tested on Fedora. |
|
Line 59: | Line 90: |
* [[http://archlinux.org/packages/?q=mercurial|Arch Linux]] - 3.0.2 * [[http://packages.gentoo.org/package/dev-vcs/mercurial|Gentoo ebuild]]: install with {{{emerge mercurial}}} - 2.4.2 (2.5.1/2.6 in unstable) * [[http://www.t2-project.org/packages/mercurial.html|T2 SDE]] - 3.0.2 * [[http://ftp.osuosl.org/pub/slackware/slackware-14.1/slackware/d/|Slackware 14.1]] - 2.7.2 |
* [[http://archlinux.org/packages/?q=mercurial|Arch Linux]] - 4.6.2 * [[http://packages.gentoo.org/package/dev-vcs/mercurial|Gentoo ebuild]]: install with {{{emerge mercurial}}} - 4.6.2 * [[http://www.t2-project.org/packages/mercurial.html|T2 SDE]] - 4.6.2 * [[http://slackware.osuosl.org/slackware-current/slackware/d/|Slackware]] - 4.6.2 |
Line 66: | Line 97: |
* [[http://unixpackages.com/packages/package-matrix?frm_search=mercurial|unixpackages.com]] - SPARC/Solaris 2.6-10 packages, x86/Solaris 8-10 packages - 2.3 * [[http://www.opencsw.org|OpenCSW]]: [[http://www.opencsw.org/packages/mercurial|solaris package mercurial-2.9, sparc/solaris, x86/solaris]]. |
* [[http://unixpackages.com/packages/package-matrix?frm_search=mercurial|unixpackages.com]] - SPARC/Solaris 2.6-10 packages, x86/Solaris 8-11 packages - 2.3 (8 & 9), 4.2 (10 & 11) * [[http://www.opencsw.org|OpenCSW]]: [[http://www.opencsw.org/packages/mercurial|solaris package mercurial-3.8.2, sparc/solaris, x86/solaris]]. |
Line 73: | Line 104: |
* [[http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/mercurial/|FreeBSD]]; use [[http://freebsd.org/cgi/man.cgi?query=pkg_add&apropos=0&sektion=0&manpath=FreeBSD+6.3-RELEASE&format=html|pkg_add]] for installing - 1.9 (on 2011-07-06) | * [[http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/mercurial/|FreeBSD]]; use [[http://freebsd.org/cgi/man.cgi?query=pkg_add&apropos=0&sektion=0&manpath=FreeBSD+6.3-RELEASE&format=html|pkg_add]] for installing - 4.6 (on 2018-07-16) |
Line 75: | Line 106: |
* [[ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/mercurial/README.html|NetBSD]] packages compiled from [[http://pkgsrc.se/devel/mercurial|pkgsrc]] - always very up-to-date, currently 2.6 * http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/mercurial/ |
* [[ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/mercurial/README.html|NetBSD]] packages compiled from [[http://pkgsrc.se/devel/mercurial|pkgsrc]] - always very up-to-date, currently 4.6.1 |
Line 86: | Line 115: |
=== Other === {i} 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. |
|
Line 87: | Line 119: |
* Source code of [[WhatsNew|released versions]] of Mercurial can be downloaded as usual .tar.gz files at [[http://mercurial.selenic.com/release/?M=D|http://mercurial.selenic.com/release/]]. * The [[http://selenic.com/repo/hg-stable|hg-stable]] repository leads to stable releases - download [[http://selenic.com/repo/hg-stable/archive/tip.tar.gz|snapshot]]. * The [[http://selenic.com/repo/hg|hg]] repository is the main development repository - download [[http://selenic.com/repo/hg/archive/tip.tar.gz|snapshot]]. |
* Source code of [[WhatsNew|released versions]] of Mercurial can be downloaded as usual .tar.gz files at [[https://www.mercurial-scm.org/release/?M=D|https://www.mercurial-scm.org/release/]]. * The [[http://mercurial-scm.org/repo/hg-stable|hg-stable]] repository leads to stable releases - download [[http://mercurial-scm.org/repo/hg-stable/archive/tip.tar.gz|snapshot]]. * The [[http://mercurial-scm.org/repo/hg|hg]] repository is the main development repository - download [[http://mercurial-scm.org/repo/hg/archive/tip.tar.gz|snapshot]]. |
Line 94: | Line 126: |
== Using pip == Mercurial can also be installed from [[https://pypi.python.org/pypi/Mercurial|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}}}. == 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 |
|
Line 95: | Line 142: |
/!\ This method is not recommended and may conflict with other installs of Mercurial. | /!\ {{{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. |
Line 97: | Line 144: |
Mercurial can also be installed from [[http://pypi.python.org/pypi/Mercurial/|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. | Mercurial can also be installed from [[https://pypi.python.org/pypi/Mercurial/|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. |
Line 111: | Line 158: |
= 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 }}} |
|
Line 114: | Line 170: |
[[FrenchDownload|Français]], [[ChineseDownload|中文]], [[JapaneseDownload|日本語]] | [[FrenchDownload|Francais]], [[ChineseDownload|中文]], [[JapaneseDownload|日本語]] |
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.
The following installers can be used from Windows XP onwards:
All-in-one installer with TortoiseHg 5.4.2 and Mercurial 5.4.2; comes with Windows Explorer "shell" integration. |
|||
MSI installers |
Needs admin rights to install, less friendly with manually installed extensions than InnoSetup version. |
||
5.1 InnoSetup-based installer (exe) |
Does not require admin rights to install. |
||
Python 2 modules |
Installs Mercurial source as Python modules, requires Python 2.7 installed. Recommended for hgweb setups and extensions with non-standard dependencies. |
||
Can install Mercurial, but abstraction layers introduce a potential source of error. Not recommended. |
|||
Self-contained install that allows easy hacking on the Mercurial source and testing of unreleased versions. |
Most of the above installers are from thg-winbuild, which has nightly builds of Mercurial and TortoiseHg.
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