[PATCH 7 of 8 "] compression: introduce an official `zstd-revlog` requirement

Josef 'Jeff' Sipek jeffpc at josefsipek.net
Tue Apr 2 03:52:09 EDT 2019

On Sun, Mar 31, 2019 at 17:36:23 +0200, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at octobus.net>
> # Date 1553707623 -3600
> #      Wed Mar 27 18:27:03 2019 +0100
> # Node ID 2cfe9983fa92313d58f0420ec62f2341a810343e
> # Parent  108e26fa0a97fe5342a1ce246cc4e4c185803454
> # EXP-Topic zstd-revlog
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 2cfe9983fa92
> compression: introduce an official `zstd-revlog` requirement

Is the requirement for the compression algo or for the compression algo's
use in revlog?

If the former, something like 'compression-<algo>' makes more sense.

If the later, would it be better to call it 'revlog-compression-<algo>' or
something to that effect?

Either way, while a *human* knows that zstd is a compression algo, could it
make sense to make it easily parsable?  I'm imagining a slightly better
error messages when requirements fail, or just the ability to
programmatically identify the algo.  For example, instead of the current:

  abort: repository requires features unknown to this Mercurial: foobar-revlog!

hg could emit:

  abort: repository requires a compression algo unknown to this Mercurial: foobar!

> This requirement supersede `exp-compression-zstd`. However, we keep support for

s/supersede/supersedes/ :)


What is the difference between Mechanical Engineers and Civil Engineers?
Mechanical Engineers build weapons, Civil Engineers build targets.

More information about the Mercurial-devel mailing list