Reputation: 18649
I am kind of new to both, Mercurial and Ubuntu.
I seem to have awkwardly installed a few other software packages already, so I wanted to see how others would go about doing this.
Should I use the apt-get command? If so, how would I use it in this case? Where is the best place to install Mercurial on my file system, and how do I make it part of my shell (I am thinking svn-ish) so I can properly check things in and update?
Thanks, Alex
Upvotes: 64
Views: 76439
Reputation: 2264
pip3
approach does not always work because it complains on clashing with system packages, and there is no easy way out of that.
Instead, pipx
utility performs isolated installation of Python packages to the user directory. But it can also be instructed to install a package globally by specifying --global
option:
apt-get install pipx
pipx install mercurial --global
Or in a Dockerfile:
# Install pipx
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y pipx
# Bootstrap pipx to the latest version.
RUN pipx install pipx
RUN apt-get remove -y pipx
RUN ~/.local/bin/pipx install pipx --global
RUN pipx uninstall pipx
# Install Mercurial
RUN pipx install mercurial --global
Note that Dockerfile does "bootstrapping" of pipx
by installing the latest pipx
version by running the existing pipx
that was previously installed by the OS package manager (apt
). This bootstrapping is needed in order to get access to the --global
option, as older versions of pipx
did not support it.
After that, the newest pipx
is used to install Mercurial in a system-wide fashion, so it can be used by other apps and scripts in the Docker image.
Upvotes: 0
Reputation: 2519
The Mercurial version in the Ubuntu repository is relatively old. I tried to use the PPA, to get more recent version. But Ubuntu complains that "The repository ... does not have a Release file" and disables it. Then I used alternative way to install latest Mercurial version:
sudo pip3 install mercurial --upgrade
Upvotes: 2
Reputation: 69035
Yeah you can install it by just
sudo apt-get install mercurial
but for me it gave very old version (2.0.2). You can check this by hg version
. To get the newer version you can do
sudo apt-get install python-setuptools python-dev build-essential
sudo easy_install -U mercurial
Now I have 3.0.1 version
aniket@ubuntu:~$ hg version
Mercurial Distributed SCM (version 3.0.1)
(see http://mercurial.selenic.com for more information)
Copyright (C) 2005-2014 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
More details : Installing Mercurial on Linux
PS: Above link goes to my personal blog which has additional details.
Upvotes: 12
Reputation: 3306
NEW ANSWER
Previously I was pointing to TortoiseHG PPA, which also contained Mercurial. For now (year 2015) the more recent version of Mercurial is in another PPA, specific for Mercurial only.
Important note: this version is incompatible with TortoiseHG, and Tortoise will be REMOVED, if you install the more recent Mercurial!
If you don't care of Tortoise and just want more recent Mercurial package, use next command to install:
sudo add-apt-repository -y ppa:mercurial-ppa/releases
sudo apt-get update
sudo apt-get install -y mercurial
However, this won't give you the absolutely latest version either. To enjoy the latest version, you may want to install it via PIP:
sudo apt-get install -y python-pip python-dev
sudo pip install mercurial --upgrade
This would give you the very latest version (3.6.2 vs 3.3.2 from the PPA). Seems this one is also not compatible with TortoiseHG from the repos.
OLD ANSWER
Though available from default repos, the version there is outdated. At the time of writing: 2.2.2 vs 2.5.2. So I would recommend to use the PPA:
sudo add-apt-repository -y ppa:tortoisehg-ppa/releases
sudo apt-get update
sudo apt-get install mercurial tortoisehg
TortoiseHG is not required, but is recommended.
Upvotes: 64
Reputation: 956
just to let everyone know,
sudo apt-get install mercurial
is delivering version 3.0.1 (latest as the time of writing this post)
so no need to try other stuff as this is everything you'll need.
Upvotes: 3
Reputation: 7751
If you are using an older version of Ubuntu (12.04 perhaps?), use the Mercurial PPA.
sudo add-apt-repository ppa:mercurial-ppa/releases
sudo apt-get update
sudo apt-get install mercurial
As of this writing, this installs mercurial 3.0.1 on Ubuntu 12.04 for example.
Upvotes: 6
Reputation:
Just use:
sudo apt-get install mercurial
It should install it in the default folder and update your environment variables correctly. then you should be able to use 'hg' from the command line, just like svn, although Hg is a much better source control tool.
Upvotes: 117
Reputation: 3242
Mercurial is available from the Universe repositories. Enable that repository in USC if it's not already enabled. Then just type the following into a terminal.
sudo apt-get install mercurial
The configuration file is saved in /etc/mercurial/hgrc You can configure mercurial by editing that file. To open that file in gedit type the following command
sudo gksudo gedit /etc/mercurial/hgrc
Upvotes: 9