# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1504383739 -19800 # Node ID 26531db4647a295dd54e97c0e606f6a5624042ec # Parent cd38b83bfb2308c25deb48ec5452e0417d52e471 copytrace: replace experimental.disablecopytrace config with copytrace (BC) This patch replaces experimental.disablecopytrace with experimental.copytrace. Since the words does not means the same, the default value is also changed. Now experimental.copytrace defaults to 'on'. The new value is not boolean value as we will be now having two different algorithms (current one and heuristics one to be imported from fbext) so we need this to be have more options than booleans. The old config option is not kept is completely replaced as that was under experimental and we don't gurantee BC to experimental things. .. bc:: The config option for copytrace `experimental.disablecopytrace` is now replaced with `experimental.copytrace` which defaults to `on`. If you need to turn off copytracing, add `[experimental] copytrace = off` to your config. Differential Revision: https://phab.mercurial-scm.org/D621 diff -r cd38b83bfb23 -r 26531db4647a mercurial/configitems.py --- a/mercurial/configitems.py Tue Sep 05 12:04:02 2017 -0700 +++ b/mercurial/configitems.py Sun Sep 03 01:52:19 2017 +0530 @@ -172,12 +172,12 @@ coreconfigitem('experimental', 'clientcompressionengines', default=list, ) +coreconfigitem('experimental', 'copytrace', + default='on', +) coreconfigitem('experimental', 'crecordtest', default=None, ) -coreconfigitem('experimental', 'disablecopytrace', - default=False, -) coreconfigitem('experimental', 'editortmpinhg', default=False, ) diff -r cd38b83bfb23 -r 26531db4647a mercurial/copies.py --- a/mercurial/copies.py Tue Sep 05 12:04:02 2017 -0700 +++ b/mercurial/copies.py Sun Sep 03 01:52:19 2017 +0530 @@ -203,7 +203,7 @@ return cm def _backwardrenames(a, b): - if a._repo.ui.configbool('experimental', 'disablecopytrace'): + if a._repo.ui.config('experimental', 'copytrace') == 'off': return {} # Even though we're not taking copies into account, 1:n rename situations @@ -363,7 +363,7 @@ # Copy trace disabling is explicitly below the node == p1 logic above # because the logic above is required for a simple copy to be kept across a # rebase. - if repo.ui.configbool('experimental', 'disablecopytrace'): + if repo.ui.config('experimental', 'copytrace') == 'off': return {}, {}, {}, {}, {} # In certain scenarios (e.g. graft, update or rebase), base can be @@ -728,8 +728,8 @@ ''' exclude = {} if (skiprev is not None and - not repo.ui.configbool('experimental', 'disablecopytrace')): - # disablecopytrace skips this line, but not the entire function because + repo.ui.config('experimental', 'copytrace') != 'off'): + # copytrace='off' skips this line, but not the entire function because # the line below is O(size of the repo) during a rebase, while the rest # of the function is much faster (and is required for carrying copy # metadata across the rebase anyway). diff -r cd38b83bfb23 -r 26531db4647a tests/test-copy-move-merge.t --- a/tests/test-copy-move-merge.t Tue Sep 05 12:04:02 2017 -0700 +++ b/tests/test-copy-move-merge.t Sun Sep 03 01:52:19 2017 +0530 @@ -81,7 +81,7 @@ 2 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/t/.hg/strip-backup/550bd84c0cd3-fc575957-backup.hg (glob) $ hg up -qC 2 - $ hg rebase --keep -d 1 -b 2 --config extensions.rebase= --config experimental.disablecopytrace=True --config ui.interactive=True << EOF + $ hg rebase --keep -d 1 -b 2 --config extensions.rebase= --config experimental.copytrace=off --config ui.interactive=True << EOF > c > EOF rebasing 2:add3f11052fa "other" (tip) @@ -117,7 +117,7 @@ | o 0 add a - $ hg rebase -d . -b 2 --config extensions.rebase= --config experimental.disablecopytrace=True + $ hg rebase -d . -b 2 --config extensions.rebase= --config experimental.copytrace=off rebasing 2:6adcf8c12e7d "copy b->x" saved backup bundle to $TESTTMP/copydisable/.hg/strip-backup/6adcf8c12e7d-ce4b3e75-rebase.hg (glob) $ hg up -q 3 @@ -150,7 +150,7 @@ |/ o 0 add a - $ hg rebase -d 2 -s 3 --config extensions.rebase= --config experimental.disablecopytrace=True + $ hg rebase -d 2 -s 3 --config extensions.rebase= --config experimental.copytrace=off rebasing 3:47e1a9e6273b "copy a->b (2)" (tip) saved backup bundle to $TESTTMP/copydisable3/.hg/strip-backup/47e1a9e6273b-2d099c59-rebase.hg (glob)