diff --git a/contrib/wix/help.wxs b/contrib/wix/help.wxs --- a/contrib/wix/help.wxs +++ b/contrib/wix/help.wxs @@ -18,6 +18,7 @@ + diff --git a/mercurial/help.py b/mercurial/help.py --- a/mercurial/help.py +++ b/mercurial/help.py @@ -216,6 +216,7 @@ return ''.join(lines) helptable = sorted([ + (['copytrace'], _("Copytracing in Mercurial"), loaddoc('copytrace')), (['bundlespec'], _("Bundle File Formats"), loaddoc('bundlespec')), (['color'], _("Colorizing Outputs"), loaddoc('color')), (["config", "hgrc"], _("Configuration Files"), loaddoc('config')), diff --git a/mercurial/help/copytrace.txt b/mercurial/help/copytrace.txt new file mode 100644 --- /dev/null +++ b/mercurial/help/copytrace.txt @@ -0,0 +1,33 @@ +Mercurial does not stores information about copies or moves if you don't use +`hg move` or `hg copy`. + +Copytracing is tracing copies or moves which user did when performing commands +like rebase, merge, unshelve etc. to merge files that were move/copied in one +merge parent and modified in another. Let's take a quick example:: + + o 3 Current head + | + . + . o 4 More modifications to a.txt + | / + o / 2 Renamed a.txt to b.txt + |/ + o 1 Modified a.txt + | + o 0 Added a.txt + +Let's say that now we want to rebase revision '4' with description "more +modifictaions to a.txt" on revision '3' with description "current head". +Mercurial tries that but wait, there is no 'a.txt' in the "current head" and it +will show you the following annoying message: + +``` +other [source] changed a which local [dest] deleted +use (c)hanged version, leave (d)eleted, or leave (u)nresolved? +``` + +Copytracing is disabled by default as the default copytracing method is slow. +You can turn that on by setting the following:: + + [experimental] + disablecopytrace = False diff --git a/tests/test-globalopts.t b/tests/test-globalopts.t --- a/tests/test-globalopts.t +++ b/tests/test-globalopts.t @@ -343,6 +343,7 @@ bundlespec Bundle File Formats color Colorizing Outputs config Configuration Files + copytrace Copytracing in Mercurial dates Date Formats diffs Diff Formats environment Environment Variables @@ -427,6 +428,7 @@ bundlespec Bundle File Formats color Colorizing Outputs config Configuration Files + copytrace Copytracing in Mercurial dates Date Formats diffs Diff Formats environment Environment Variables diff --git a/tests/test-help.t b/tests/test-help.t --- a/tests/test-help.t +++ b/tests/test-help.t @@ -105,6 +105,7 @@ bundlespec Bundle File Formats color Colorizing Outputs config Configuration Files + copytrace Copytracing in Mercurial dates Date Formats diffs Diff Formats environment Environment Variables @@ -183,6 +184,7 @@ bundlespec Bundle File Formats color Colorizing Outputs config Configuration Files + copytrace Copytracing in Mercurial dates Date Formats diffs Diff Formats environment Environment Variables @@ -860,6 +862,7 @@ bundlespec Bundle File Formats color Colorizing Outputs config Configuration Files + copytrace Copytracing in Mercurial dates Date Formats diffs Diff Formats environment Environment Variables @@ -1975,6 +1978,13 @@ Configuration Files + + copytrace + + + Copytracing in Mercurial + + dates diff --git a/tests/test-hgweb-json.t b/tests/test-hgweb-json.t --- a/tests/test-hgweb-json.t +++ b/tests/test-hgweb-json.t @@ -1561,6 +1561,10 @@ "topic": "config" }, { + "summary": "Copytracing in Mercurial", + "topic": "copytrace" + }, + { "summary": "Date Formats", "topic": "dates" },