README.rst
author Raphaël Gomès <rgomes@octobus.net>
Tue, 02 May 2023 15:40:13 +0200
branchstable
changeset 50449 b4b1791f36e4
parent 46756 c5912e35d06d
permissions -rw-r--r--
repo-upgrade: write new requirement before upgrading the dirstate This will prevent a small race condition where another hg process still believes the repo is dirstate-v1 during the upgrade process. This is good to have, but it is not a proper fix for the underlying problem. There is code that assumes a requirement means a usage, e.g. having the `generaldelta` requirement would imply *all* revlogs to use general delta, but it's not true, it simply means that the repository advertises to the client it needs to understand `generaldelta` in order to read the repo. In the case of the dirstate, having the requirement *technically* should always be the same as using dirstate-v2, since there is only one dirstate and requirements should be as minimal as possible. However, we should not assume this and make the code more robust in a future patch (series).

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install::

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

Running without installing::

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

See https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.

Notes for packagers
===================

Mercurial ships a copy of the python-zstandard sources. This is used to
provide support for zstd compression and decompression functionality. The
module is not intended to be replaced by the plain python-zstandard nor
is it intended to use a system zstd library. Patches can result in hard
to diagnose errors and are explicitly discouraged as unsupported
configuration.