D6190: tests: better document the graft copy case

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Wed Apr 3 12:53:45 EDT 2019

martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

  rHG Mercurial




diff --git a/tests/test-graft.t b/tests/test-graft.t
--- a/tests/test-graft.t
+++ b/tests/test-graft.t
@@ -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

To: martinvonz, #hg-reviewers
Cc: mercurial-devel

More information about the Mercurial-devel mailing list