Mercurial is a distributed source control management tool similar to Git and Bazaar. Mercurial is written in Python and is used by projects such as Mozilla and Vim.
This package is known to build and work properly using an LFS-10.1 platform.
Download (HTTP): https://www.mercurial-scm.org/release/mercurial-5.7.1.tar.gz
Download MD5 sum: 0f99d4308e5a5a60198d7b6befd930c4
Download size: 7.5 MB
Estimated disk space required: 112 MB (with docs, add 1.4 GB for tests)
Estimated build time: 0.3 SBU (with docs, add 19 SBU for tests using -j4)
docutils-0.16 (required to build the documentation), git-2.31.1, GnuPG-2.2.27 (gpg2 with Python bindings), OpenSSH-8.5p1 (runtime, to access ssh://... repositories), Pygments-2.8.0, rustc-1.47.0, Subversion-1.14.1 (with Python bindings), Bazaar, CVS, pyflakes, and pyOpenSSL
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/mercurial
First, force the build system to use Python 3:
export PYTHON=python3
Build Mercurial by issuing the following command:
make build
To build the documentation (requires docutils-0.16), issue:
make doc
To run the test suite, issue:
TESTFLAGS="-j<N>
--tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check
where <N>
is an
integer between one and the number of ( processor X threads ),
inclusive. In order to investigate any apparently failing tests,
you may use the run-tests.py script. To see the
almost forty switches, some of them very useful, issue tests/run-tests.py --help.
Running the following commands, you will execute only the tests
that failed before:
pushd tests && rm -rf tmp && ./run-tests.py --tmpdir tmp test-gpg.t popd
Normally, the previous failures will be confirmed. However, if you
add the switch --debug
before
--tmpdir
, and run again, some failures
are gone, which seems to be a problem with the test suite. If this
happens, normally, from now on, there will be no more such failures
whether you use the debug switch or not.
An interesting switch is --time
, which
will generate at the end of the test suite execution, a table with
all executed tests and respective start, end, user, system and real
times. Note that the switches may be used with make check by including them in
the TESTFLAGS
environment variable.
Install Mercurial by running the
following command (as root
):
make PREFIX=/usr install-bin
If you built the documentation, install it by running the following
command (as root
):
make PREFIX=/usr install-doc
Next, clean up the environment variable set earlier:
unset PYTHON
After installation, two very quick and simple tests should run correctly. The first one needs some configuration:
cat >> ~/.hgrc << "EOF"
[ui]
username = <user_name> <user@mail>
EOF
where you must replace <user_name> and <your@mail> (mail is optional and can be omitted). With the user identity defined, run hg debuginstall and several lines will be displayed, the last one reading "no problems detected". Another quick and simple test is just hg, which should output basic commands that can be used with hg.
/etc/mercurial/hgrc
and
~/.hgrc
The great majority of extensions are disabled by default. Run hg help extensions if you need to enable any, e.g. when investigating test failures. You will obtain the lists of enabled and disabled extensions, and more information, such as how to enable or disable them using configuration files.
If you have installed make-ca-1.7 and
want Mercurial to use them, as
the root
user, issue:
install -v -d -m755 /etc/mercurial &&
cat > /etc/mercurial/hgrc << "EOF"
[web]
cacerts = /etc/pki/tls/certs/ca-bundle.crt
EOF
Last updated on 2021-03-13 23:59:54 -0600