changeset 42055:b9e5f3853a97

tests: better document the graft copy case Differential Revision: https://phab.mercurial-scm.org/D6190
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 03 Apr 2019 09:38:08 -0700
parents 399ed3e86a49
children 4950ae4d034f
files tests/test-graft.t
diffstat 1 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-graft.t	Wed Apr 03 11:46:29 2019 -0400
+++ b/tests/test-graft.t	Wed Apr 03 09:38:08 2019 -0700
@@ -927,7 +927,20 @@
 
 NOTE: This is affected by issue5343, and will need updating when it's fixed
 
-Possible cases during a regular graft (when ca is between cta and c2):
+Consider this topology for a regular graft:
+
+o c1
+|
+| o c2
+| |
+| o ca # stands for "common ancestor"
+|/
+o cta # stands for "common topological ancestor"
+
+Note that in issue5343, ca==cta.
+
+The following table shows the possible cases. Here, "x->y" and, equivalently,
+"y<-x", where x is an ancestor of y, means that some copy happened from x to y.
 
 name | c1<-cta | cta<->ca | ca->c2
 A.0  |         |          |
@@ -955,6 +968,8 @@
 
 A.4 has a degenerate case a<-b<-a->a, where checkcopies isn't needed at all.
 A.5 has a special case a<-b<-b->a, which is treated like a<-b->a in a merge.
+A.5 has issue5343 as a special case.
+TODO: add test coverage for A.5
 A.6 has a special case a<-a<-b->a. Here, checkcopies will find a spurious
 incomplete divergence, which is in fact complete. This is handled later in
 mergecopies.