tests/test-evolve-phase-divergence.t
changeset 4497 711668818508
parent 4495 48e9169633ef
child 4498 99dbe605fda5
equal deleted inserted replaced
4496:02d3177085e1 4497:711668818508
  1401 Resolution of phase-divergent merge commit using `hg evolve`
  1401 Resolution of phase-divergent merge commit using `hg evolve`
  1402 
  1402 
  1403 XXX: we should handle phase-divergent merges
  1403 XXX: we should handle phase-divergent merges
  1404   $ hg evolve --phase-divergent
  1404   $ hg evolve --phase-divergent
  1405   skipping 8d4acf488ab5 : we do not handle merge yet
  1405   skipping 8d4acf488ab5 : we do not handle merge yet
       
  1406 
       
  1407 Check we preserve "cancelation" of changes
       
  1408 ==========================================
       
  1409 
       
  1410 This tests case where the phase divergence changesets cancelled some of the
       
  1411 change made by the public predecessors. The cancellation of these changes need
       
  1412 to be preserved.
       
  1413 
       
  1414   $ hg init cancelled-changes
       
  1415   $ cd cancelled-changes
       
  1416   $ cat << EOF > numbers
       
  1417   > 1
       
  1418   > 2
       
  1419   > 3
       
  1420   > 4
       
  1421   > 5
       
  1422   > 6
       
  1423   > 7
       
  1424   > 8
       
  1425   > 9
       
  1426   > EOF
       
  1427   $ cat << EOF > letters
       
  1428   > a
       
  1429   > b
       
  1430   > c
       
  1431   > d
       
  1432   > e
       
  1433   > f
       
  1434   > g
       
  1435   > h
       
  1436   > i
       
  1437   > EOF
       
  1438   $ cat << EOF > romans
       
  1439   > I
       
  1440   > II
       
  1441   > III
       
  1442   > IV
       
  1443   > V
       
  1444   > VI
       
  1445   > VII
       
  1446   > VIII
       
  1447   > IX
       
  1448   > EOF
       
  1449   $ hg add numbers letters romans
       
  1450   $ hg commit -m root
       
  1451   $ cat << EOF > numbers
       
  1452   > 1
       
  1453   > 2
       
  1454   > 3
       
  1455   > four
       
  1456   > 5
       
  1457   > 6
       
  1458   > 7
       
  1459   > 8
       
  1460   > nine
       
  1461   > EOF
       
  1462   $ cat << EOF > letters
       
  1463   > a
       
  1464   > b
       
  1465   > c
       
  1466   > D
       
  1467   > e
       
  1468   > f
       
  1469   > g
       
  1470   > h
       
  1471   > i
       
  1472   > EOF
       
  1473   $ hg commit -m E1
       
  1474   $ cat << EOF > numbers
       
  1475   > 1
       
  1476   > 2
       
  1477   > 3
       
  1478   > 4
       
  1479   > 5
       
  1480   > 6
       
  1481   > seven
       
  1482   > 8
       
  1483   > nine
       
  1484   > EOF
       
  1485   $ cat << EOF > letters
       
  1486   > a
       
  1487   > b
       
  1488   > c
       
  1489   > d
       
  1490   > e
       
  1491   > f
       
  1492   > g
       
  1493   > h
       
  1494   > i
       
  1495   > EOF
       
  1496   $ cat << EOF > romans
       
  1497   > I
       
  1498   > ii
       
  1499   > III
       
  1500   > IV
       
  1501   > V
       
  1502   > VI
       
  1503   > VII
       
  1504   > VIII
       
  1505   > IX
       
  1506   > EOF
       
  1507   $ hg commit --amend -m E2
       
  1508   $ hg --hidden phase --public --rev 'desc(E1)'
       
  1509   1 new phase-divergent changesets
       
  1510   $ hg log -G --patch --hidden --rev 'not desc("root")'
       
  1511   @  changeset:   2:599454370881
       
  1512   |  tag:         tip
       
  1513   ~  parent:      0:6d1fdf6de7e2
       
  1514      user:        test
       
  1515      date:        Thu Jan 01 00:00:00 1970 +0000
       
  1516      instability: phase-divergent
       
  1517      summary:     E2
       
  1518   
       
  1519      diff -r 6d1fdf6de7e2 -r 599454370881 numbers
       
  1520      --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1521      +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1522      @@ -4,6 +4,6 @@
       
  1523       4
       
  1524       5
       
  1525       6
       
  1526      -7
       
  1527      +seven
       
  1528       8
       
  1529      -9
       
  1530      +nine
       
  1531      diff -r 6d1fdf6de7e2 -r 599454370881 romans
       
  1532      --- a/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1533      +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1534      @@ -1,5 +1,5 @@
       
  1535       I
       
  1536      -II
       
  1537      +ii
       
  1538       III
       
  1539       IV
       
  1540       V
       
  1541   
       
  1542   o  changeset:   1:3074c7249d20
       
  1543   |  user:        test
       
  1544   ~  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1545      summary:     E1
       
  1546   
       
  1547      diff -r 6d1fdf6de7e2 -r 3074c7249d20 letters
       
  1548      --- a/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1549      +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1550      @@ -1,7 +1,7 @@
       
  1551       a
       
  1552       b
       
  1553       c
       
  1554      -d
       
  1555      +D
       
  1556       e
       
  1557       f
       
  1558       g
       
  1559      diff -r 6d1fdf6de7e2 -r 3074c7249d20 numbers
       
  1560      --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1561      +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1562      @@ -1,9 +1,9 @@
       
  1563       1
       
  1564       2
       
  1565       3
       
  1566      -4
       
  1567      +four
       
  1568       5
       
  1569       6
       
  1570       7
       
  1571       8
       
  1572      -9
       
  1573      +nine
       
  1574   
       
  1575   $ hg evolve --list
       
  1576   599454370881: E2
       
  1577     phase-divergent: 3074c7249d20 (immutable precursor)
       
  1578   
       
  1579   $ hg obslog --all --patch
       
  1580   @  599454370881 (2) E2
       
  1581   |
       
  1582   o  3074c7249d20 (1) E1
       
  1583        rewritten(description, content) as 599454370881 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
       
  1584          diff -r 3074c7249d20 -r 599454370881 changeset-description
       
  1585          --- a/changeset-description
       
  1586          +++ b/changeset-description
       
  1587          @@ -1,1 +1,1 @@
       
  1588          -E1
       
  1589          +E2
       
  1590   
       
  1591          diff -r 3074c7249d20 -r 599454370881 letters
       
  1592          --- a/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1593          +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1594          @@ -1,7 +1,7 @@
       
  1595           a
       
  1596           b
       
  1597           c
       
  1598          -D
       
  1599          +d
       
  1600           e
       
  1601           f
       
  1602           g
       
  1603          diff -r 3074c7249d20 -r 599454370881 numbers
       
  1604          --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1605          +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1606          @@ -1,9 +1,9 @@
       
  1607           1
       
  1608           2
       
  1609           3
       
  1610          -four
       
  1611          +4
       
  1612           5
       
  1613           6
       
  1614          -7
       
  1615          +seven
       
  1616           8
       
  1617           nine
       
  1618          diff -r 3074c7249d20 -r 599454370881 romans
       
  1619          --- a/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1620          +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1621          @@ -1,5 +1,5 @@
       
  1622           I
       
  1623          -II
       
  1624          +ii
       
  1625           III
       
  1626           IV
       
  1627           V
       
  1628   
       
  1629   
       
  1630 
       
  1631   $ hg evolve --phase-divergent --rev 'desc("E2")'
       
  1632   recreate:[2] E2
       
  1633   atop:[1] E1
       
  1634   committed as 9eebcb77a7e2
       
  1635   working directory is now at 9eebcb77a7e2
       
  1636   $ hg export
       
  1637   # HG changeset patch
       
  1638   # User test
       
  1639   # Date 0 0
       
  1640   #      Thu Jan 01 00:00:00 1970 +0000
       
  1641   # Node ID 9eebcb77a7e2b240cb7dce095bbe608b5de91cc8
       
  1642   # Parent  3074c7249d2023b1fff891591d7e609695cd09c2
       
  1643   phase-divergent update to 3074c7249d20:
       
  1644   
       
  1645   E2
       
  1646   
       
  1647   diff -r 3074c7249d20 -r 9eebcb77a7e2 letters
       
  1648   --- a/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1649   +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1650   @@ -1,7 +1,7 @@
       
  1651    a
       
  1652    b
       
  1653    c
       
  1654   -D
       
  1655   +d
       
  1656    e
       
  1657    f
       
  1658    g
       
  1659   diff -r 3074c7249d20 -r 9eebcb77a7e2 numbers
       
  1660   --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1661   +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1662   @@ -1,9 +1,9 @@
       
  1663    1
       
  1664    2
       
  1665    3
       
  1666   -four
       
  1667   +4
       
  1668    5
       
  1669    6
       
  1670   -7
       
  1671   +seven
       
  1672    8
       
  1673    nine
       
  1674   diff -r 3074c7249d20 -r 9eebcb77a7e2 romans
       
  1675   --- a/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1676   +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1677   @@ -1,5 +1,5 @@
       
  1678    I
       
  1679   -II
       
  1680   +ii
       
  1681    III
       
  1682    IV
       
  1683    V
       
  1684   $ hg log -G --patch --rev 'not desc("root")'
       
  1685   @  changeset:   3:9eebcb77a7e2
       
  1686   |  tag:         tip
       
  1687   |  parent:      1:3074c7249d20
       
  1688   |  user:        test
       
  1689   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1690   |  summary:     phase-divergent update to 3074c7249d20:
       
  1691   |
       
  1692   |  diff -r 3074c7249d20 -r 9eebcb77a7e2 letters
       
  1693   |  --- a/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1694   |  +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1695   |  @@ -1,7 +1,7 @@
       
  1696   |   a
       
  1697   |   b
       
  1698   |   c
       
  1699   |  -D
       
  1700   |  +d
       
  1701   |   e
       
  1702   |   f
       
  1703   |   g
       
  1704   |  diff -r 3074c7249d20 -r 9eebcb77a7e2 numbers
       
  1705   |  --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1706   |  +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1707   |  @@ -1,9 +1,9 @@
       
  1708   |   1
       
  1709   |   2
       
  1710   |   3
       
  1711   |  -four
       
  1712   |  +4
       
  1713   |   5
       
  1714   |   6
       
  1715   |  -7
       
  1716   |  +seven
       
  1717   |   8
       
  1718   |   nine
       
  1719   |  diff -r 3074c7249d20 -r 9eebcb77a7e2 romans
       
  1720   |  --- a/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1721   |  +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1722   |  @@ -1,5 +1,5 @@
       
  1723   |   I
       
  1724   |  -II
       
  1725   |  +ii
       
  1726   |   III
       
  1727   |   IV
       
  1728   |   V
       
  1729   |
       
  1730   o  changeset:   1:3074c7249d20
       
  1731   |  user:        test
       
  1732   ~  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1733      summary:     E1
       
  1734   
       
  1735      diff -r 6d1fdf6de7e2 -r 3074c7249d20 letters
       
  1736      --- a/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1737      +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1738      @@ -1,7 +1,7 @@
       
  1739       a
       
  1740       b
       
  1741       c
       
  1742      -d
       
  1743      +D
       
  1744       e
       
  1745       f
       
  1746       g
       
  1747      diff -r 6d1fdf6de7e2 -r 3074c7249d20 numbers
       
  1748      --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1749      +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1750      @@ -1,9 +1,9 @@
       
  1751       1
       
  1752       2
       
  1753       3
       
  1754      -4
       
  1755      +four
       
  1756       5
       
  1757       6
       
  1758       7
       
  1759       8
       
  1760      -9
       
  1761      +nine
       
  1762   
       
  1763   $ hg obslog --patch
       
  1764   @  9eebcb77a7e2 (3) phase-divergent update to 3074c7249d20:
       
  1765   |
       
  1766   x  599454370881 (2) E2
       
  1767   |    rewritten(description, parent, content) as 9eebcb77a7e2 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
       
  1768   |      (No patch available, changesets rebased)
       
  1769   |
       
  1770   o  3074c7249d20 (1) E1
       
  1771        rewritten(description, content) as 599454370881 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
       
  1772          diff -r 3074c7249d20 -r 599454370881 changeset-description
       
  1773          --- a/changeset-description
       
  1774          +++ b/changeset-description
       
  1775          @@ -1,1 +1,1 @@
       
  1776          -E1
       
  1777          +E2
       
  1778   
       
  1779          diff -r 3074c7249d20 -r 599454370881 letters
       
  1780          --- a/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1781          +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
       
  1782          @@ -1,7 +1,7 @@
       
  1783           a
       
  1784           b
       
  1785           c
       
  1786          -D
       
  1787          +d
       
  1788           e
       
  1789           f
       
  1790           g
       
  1791          diff -r 3074c7249d20 -r 599454370881 numbers
       
  1792          --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1793          +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
       
  1794          @@ -1,9 +1,9 @@
       
  1795           1
       
  1796           2
       
  1797           3
       
  1798          -four
       
  1799          +4
       
  1800           5
       
  1801           6
       
  1802          -7
       
  1803          +seven
       
  1804           8
       
  1805           nine
       
  1806          diff -r 3074c7249d20 -r 599454370881 romans
       
  1807          --- a/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1808          +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
       
  1809          @@ -1,5 +1,5 @@
       
  1810           I
       
  1811          -II
       
  1812          +ii
       
  1813           III
       
  1814           IV
       
  1815           V
       
  1816   
       
  1817   
       
  1818   $ cd ..