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 .. |