[PATCH 1 of 2] localrepo: document format.maxchainlen

Matt Mackall mpm at selenic.com
Tue Dec 22 15:16:46 CST 2015


On Mon, 2015-12-21 at 00:15 -0800, Gregory Szorc wrote:
> # HG changeset patch
> # User Gregory Szorc <gregory.szorc at gmail.com>
> # Date 1450679264 28800
> #      Sun Dec 20 22:27:44 2015 -0800
> # Node ID f020dc8028046ac0b433c1e8f11bfc3781cdd8d3
> # Parent  5df74b2f296df7f44a08106df4f9dd97a5aa726a
> localrepo: document format.maxchainlen
> 
> This option has existed for several months. An upcoming patch will set
> a default value for maxchainlen. It is probably a good idea to document
> it so people know they can change it.

I'm currently not thrilled about patch 2 since I think we've got significant
untapped avenues for making chains faster (threading, calling zlib from C) and I
don't particularly like the arbitrariness of the limit.

And given that, I don't think the wording here is neither sufficiently detailed
nor sufficiently deterrent to keep n00by admins from setting it to silly values
like '100'. A better version might keep just the first sentence and add "don't
mess with this unless you're an expert."

> +``maxchainlen``
> +    The maximum length of delta chains in revlogs as the number of entries.
> +
> +    A delta chain is a series of likely-compressed binary diffs that must be
> +    read, decompressed, and applied to reconstruct the full content of a
> +    revision. Longer chains result in smaller storage requirements but longer
> +    read times. Shorter chains result in larger storage requirements but
> +    faster read times.
> +
> +    Setting this value establishes a ceiling on the number of entries /
> +    binary diffs in a delta chain. Other limits on delta chain length
> +    are also enforced and may cause delta chains to be smaller than this
> +    limit.
> +

-- 
Mathematics is the supreme nostalgia of our time.



More information about the Mercurial-devel mailing list