comparison mercurial/help/config.txt @ 41818:f6eff9e4de80

storage: introduce a `revlog.reuse-external-delta-parent` config As pointed in c59987ab96b4, we had no simple way to get a client to not blindly reuse the delta parent from a bundle. Instead one had to rely on a side effect of the deprecated `format.generaldelta` configuration. We introduce an explicit `revlog.reuse-external-delta-parent` configuration option (default to True) to control this behavior. If the option is not set, `format.generaldelta` still control this behavior. To test the new option, we convert a couple of place where `generaldelta` have been used for its side effects.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 27 Feb 2019 10:49:25 +0100
parents 13a6dd952ffe
children 688fc33e105d
comparison
equal deleted inserted replaced
41817:169c386cc9d8 41818:f6eff9e4de80
1841 revlog compression. This option is enabled by default. 1841 revlog compression. This option is enabled by default.
1842 1842
1843 Turning this option off can result in large increase of repository size for 1843 Turning this option off can result in large increase of repository size for
1844 repository with many merges. 1844 repository with many merges.
1845 1845
1846 ``revlog.reuse-external-delta-parent``
1847 Control the order in which delta parents are considered when adding new
1848 revisions from an external source.
1849 (typically: apply bundle from `hg pull` or `hg push`).
1850
1851 New revisions are usually provided as a delta against other revisions. By
1852 default, Mercurial will try to reuse this delta first, therefore using the
1853 same "delta parent" as the source. Directly using delta's from the source
1854 reduces CPU usage and usually speeds up operation. However, in some case,
1855 the source might have sub-optimal delta bases and forcing their reevaluation
1856 is useful. For example, pushes from an old client could have sub-optimal
1857 delta's parent that the server want to optimize. (lack of general delta, bad
1858 parents, choice, lack of sparse-revlog, etc).
1859
1860 This option is enabled by default. Turning it off will ensure bad delta
1861 parent choices from older client do not propagate to this repository, at
1862 the cost of a small increase in CPU consumption.
1863
1864 Note: this option only control the order in which delta parents are
1865 considered. Even when disabled, the existing delta from the source will be
1866 reused if the same delta parent is selected.
1867
1846 ``server`` 1868 ``server``
1847 ---------- 1869 ----------
1848 1870
1849 Controls generic server settings. 1871 Controls generic server settings.
1850 1872