diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -172,12 +172,12 @@ coreconfigitem('experimental', 'changegr 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 --git a/mercurial/copies.py b/mercurial/copies.py --- a/mercurial/copies.py +++ b/mercurial/copies.py @@ -203,7 +203,7 @@ def _forwardcopies(a, b, match=None): 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 @@ def mergecopies(repo, c1, c2, base): # 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 @@ def duplicatecopies(repo, rev, fromrev, ''' 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 --git a/tests/test-copy-move-merge.t b/tests/test-copy-move-merge.t --- a/tests/test-copy-move-merge.t +++ b/tests/test-copy-move-merge.t @@ -81,7 +81,7 @@ Test disabling copy tracing 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 @@ Verify disabling copy tracing still keep | 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 @@ Verify we duplicate existing copies, ins |/ 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)