Show More
@@ -983,6 +983,9 coreconfigitem('storage', 'revlog.optimi | |||
|
983 | 983 | default=True, |
|
984 | 984 | alias=[('format', 'aggressivemergedeltas')], |
|
985 | 985 | ) |
|
986 | coreconfigitem('storage', 'revlog.reuse-external-delta-parent', | |
|
987 | default=None, | |
|
988 | ) | |
|
986 | 989 | coreconfigitem('server', 'bookmarks-pushkey-compat', |
|
987 | 990 | default=True, |
|
988 | 991 | ) |
@@ -1843,6 +1843,28 category impact performance and reposito | |||
|
1843 | 1843 | Turning this option off can result in large increase of repository size for |
|
1844 | 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 | 1868 | ``server`` |
|
1847 | 1869 | ---------- |
|
1848 | 1870 |
@@ -752,7 +752,11 def resolverevlogstorevfsoptions(ui, req | |||
|
752 | 752 | b'revlog.optimize-delta-parent-choice') |
|
753 | 753 | options[b'deltabothparents'] = deltabothparents |
|
754 | 754 | |
|
755 | options[b'lazydeltabase'] = not scmutil.gddeltaconfig(ui) | |
|
755 | lazydeltabase = ui.configbool(b'storage', | |
|
756 | b'revlog.reuse-external-delta-parent') | |
|
757 | if lazydeltabase is None: | |
|
758 | lazydeltabase = not scmutil.gddeltaconfig(ui) | |
|
759 | options[b'lazydeltabase'] = lazydeltabase | |
|
756 | 760 | |
|
757 | 761 | chainspan = ui.configbytes(b'experimental', b'maxdeltachainspan') |
|
758 | 762 | if 0 <= chainspan: |
@@ -339,7 +339,7 test maxdeltachainspan | |||
|
339 | 339 | 52 5 1 -1 base 369 640 369 0.57656 369 0 0.00000 |
|
340 | 340 | 53 6 1 -1 base 0 0 0 0.00000 0 0 0.00000 |
|
341 | 341 | 54 7 1 -1 base 369 640 369 0.57656 369 0 0.00000 |
|
342 | $ hg clone --pull source-repo --config experimental.maxdeltachainspan=0 noconst-chain --config format.generaldelta=yes | |
|
342 | $ hg clone --pull source-repo --config experimental.maxdeltachainspan=0 noconst-chain --config format.usegeneraldelta=yes --config storage.revlog.reuse-external-delta-parent=no | |
|
343 | 343 | requesting all changes |
|
344 | 344 | adding changesets |
|
345 | 345 | adding manifests |
General Comments 0
You need to be logged in to leave comments.
Login now