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 for Firefox and Thunderbird.
This package is known to build and work properly using an LFS 12.4 platform.
Download (HTTP): https://www.mercurial-scm.org/release/mercurial-7.1.tar.gz
Download MD5 sum: 885a2a5ff89e78f066ec80b1ede5b314
Download size: 8.6 MB
Estimated disk space required: 125 MB (with docs, add 32 MB for tests)
Estimated build time: 0.3 SBU (with docs; add 23 SBU for tests; both using parallelism=4)
          build-1.3.0, docutils-0.21.2 (required to build the
          documentation), git-2.50.1, OpenSSH-10.0p1
          (runtime, to access ssh://... repositories), Pygments-2.19.2, rustc-1.89.0 (see rust/README.rst and rust/rhg/README.md), Subversion-1.14.5
          (with Python bindings), CVS, pyflakes, and re2
        
          Mercurial is built and installed
          in a single command as the root
          user:
        
make PREFIX=/usr install
          The documentation is built by the above command (in man and html
          formats), but only the manual pages are installed. If you wish to
          install the html documentation, issue as the root user:
        
mkdir /usr/share/doc/mercurial-7.1 && cp -R doc/html /usr/share/doc/mercurial-7.1
If you wish to run the tests, the rust tests must be removed as they are currently broken due to syntax errors. To do this, issue:
sed -i '151,154d' Makefile
To run the test suite, issue:
TESTFLAGS="-j<N> --with-hg /usr/bin/hg" make check
        
          where <N> is an
          integer between one and the number of ( processor X threads ),
          inclusive (default is the total number of processors as returned by
          nproc). Tests may
          fail because some error messages have changed in Python or some
          deprecation warnings are printed that were not present when the
          test was designed.
        
          In order to investigate any apparently failing tests, you may use
          the run-tests.py
          script in the tests directory. 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 --with-hg /usr/bin/hg test-import.t
popd
        
          An interesting switch is --time, which
          will generate a table of all the executed tests and their
          respective start, end, user, system and real times once the tests
          are complete. Note that these switches may be used with
          make check by
          including them in the TESTFLAGS
          environment variable.
        
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. This will output a list of enabled and disabled extensions, as well as more information such as how to enable or disable extensions using configuration files.
            If you have installed make-ca-1.16.1 and want Mercurial to use the certificates, 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