diff --git a/mercurial/copies.py b/mercurial/copies.py --- a/mercurial/copies.py +++ b/mercurial/copies.py @@ -370,8 +370,10 @@ return {}, {}, {}, {}, {} elif copytracing == 'heuristics': return _heuristicscopytracing(repo, c1, c2, base) + elif copytracing in ['full', 'on']: + return _fullcopytracing(repo, c1, c2, base) else: - return _fullcopytracing(repo, c1, c2, base) + repo.ui.debug('unable to parse the copytracing mode %s' % copytracing) def _fullcopytracing(repo, c1, c2, base): """ The full copytracing algorithm which finds all the new files that were @@ -379,7 +381,13 @@ this file was copied from another file. This is pretty slow when a lot of changesets are involved but will track all - the copies. + the copies. Can be used by setting the following configuration: + + [experimental] + copytrace = full + + Also if you have set `experimental.copytrace=on`, this is the algorithm + which will be used. """ # In certain scenarios (e.g. graft, update or rebase), base can be # overridden We still need to know a real common ancestor in this case We