[prev in list] [next in list] [prev in thread] [next in thread]
List: mercurial-devel
Subject: D587: copytrace: add `hg help copytrace`
From: "pulkit (Pulkit Goyal)" <phabricator () mercurial-scm ! org>
Date: 2017-08-31 22:29:14
Message-ID: differential-rev-PHID-DREV-2emlg6rqsgfew3dein2p-req () phab ! mercurial-scm ! org
[Download RAW message or body]
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Currently we have one slow implementation of copytrace. While moving
fbext/copytrace to core, a lot of things will be introduced and some new
configs for user to switch between different implementations. But if that goes
undocumented the configs will be magic for the user. So lets document copytrace
first before we add any new logic or config options.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D587
AFFECTED FILES
mercurial/help.py
mercurial/help/copytrace.txt
tests/test-globalopts.t
tests/test-help.t
tests/test-hgweb-json.t
tests/test-install.t
CHANGE DETAILS
diff --git a/tests/test-install.t b/tests/test-install.t
--- a/tests/test-install.t
+++ b/tests/test-install.t
@@ -162,6 +162,7 @@
$ ( testrepohgenv; $PYTHON wixxml.py help )
Not installed:
help/common.txt
+ help/copytrace.txt
help/hg-ssh.8.txt
help/hg.1.txt
help/hgignore.5.txt
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"
},
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
</td></tr>
<tr><td>
+ <a href="/help/copytrace">
+ copytrace
+ </a>
+ </td><td>
+ Copytracing in Mercurial
+ </td></tr>
+ <tr><td>
<a href="/help/dates">
dates
</a>
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/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/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')),
To: pulkit, #hg-reviewers
Cc: mercurial-devel
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic