1521 $ hg log -GT "{rev}:{node|short} {desc} ({bookmarks})\n" --hidden |
1521 $ hg log -GT "{rev}:{node|short} {desc} ({bookmarks})\n" --hidden |
1522 @ 1:ab832e43dd5a added a (book) |
1522 @ 1:ab832e43dd5a added a (book) |
1523 |
1523 |
1524 x 0:f7ad41964313 added a () |
1524 x 0:f7ad41964313 added a () |
1525 |
1525 |
|
1526 $ cd .. |
|
1527 |
|
1528 Test which shows that orphanmerge evolution can result to crash because of |
|
1529 lastsolved not being updated in case of orphanmerge: |
|
1530 (It will be fixed in next patch) |
|
1531 |
|
1532 Prepare the repo: |
|
1533 $ hg init orphanmergerepo |
|
1534 $ cd orphanmergerepo |
|
1535 $ echo a > a |
|
1536 $ for fn in a b c; do echo foo > $fn; hg ci -Am "added "$fn; done; |
|
1537 adding a |
|
1538 adding b |
|
1539 adding c |
|
1540 Lets create a merge commit so that we can create orhpan merge later: |
|
1541 $ hg up 1 -q |
|
1542 $ echo feature > f |
|
1543 $ hg ci -Am "added feature f" |
|
1544 adding f |
|
1545 created new head |
|
1546 $ hg merge |
|
1547 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1548 (branch merge, don't forget to commit) |
|
1549 $ hg ci -m "merge feature branch" |
|
1550 $ glog |
|
1551 @ 4:2c0a98d38026@default(draft) merge feature branch |
|
1552 |\ |
|
1553 | o 3:4c33e511041e@default(draft) added feature f |
|
1554 | | |
|
1555 o | 2:8be98ac1a569@default(draft) added c |
|
1556 |/ |
|
1557 o 1:80e6d2c47cfe@default(draft) added b |
|
1558 | |
|
1559 o 0:f7ad41964313@default(draft) added a |
|
1560 |
|
1561 |
|
1562 Now make the parents of merge commit obsolete to get a orphan merge: |
|
1563 $ hg up 2 -q |
|
1564 $ echo "fixit" > c |
|
1565 $ hg ci --amend -m "updated c" |
|
1566 1 new orphan changesets |
|
1567 $ hg up 3 -q |
|
1568 $ echo "fixit" > c |
|
1569 $ hg ci --amend -m "updated f" |
|
1570 $ glog |
|
1571 @ 6:086d9bedcd75@default(draft) updated f |
|
1572 | |
|
1573 | o 5:f84f2c548fbc@default(draft) updated c |
|
1574 |/ |
|
1575 | * 4:2c0a98d38026@default(draft) merge feature branch |
|
1576 | |\ |
|
1577 +---x 3:4c33e511041e@default(draft) added feature f |
|
1578 | | |
|
1579 | x 2:8be98ac1a569@default(draft) added c |
|
1580 |/ |
|
1581 o 1:80e6d2c47cfe@default(draft) added b |
|
1582 | |
|
1583 o 0:f7ad41964313@default(draft) added a |
|
1584 |
|
1585 |
|
1586 To check `lastsolved` contain right value after completion of orphan-merge |
|
1587 resolution there should be one more trouble to be evolved; lets create one: |
|
1588 $ hg up 1 -q |
|
1589 $ echo d > d |
|
1590 $ hg ci -Am "added d" |
|
1591 adding c |
|
1592 adding d |
|
1593 created new head |
|
1594 $ echo e > e |
|
1595 $ hg ci -Am "added e" |
|
1596 adding e |
|
1597 $ hg up .^ |
|
1598 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
1599 $ echo "updated d" >> d |
|
1600 $ hg ci --amend -m "updated d" |
|
1601 1 new orphan changesets |
|
1602 $ glog |
|
1603 @ 9:7c4d1834c346@default(draft) updated d |
|
1604 | |
|
1605 | * 8:421f7614462a@default(draft) added e |
|
1606 | | |
|
1607 | x 7:afe5acea1990@default(draft) added d |
|
1608 |/ |
|
1609 | o 6:086d9bedcd75@default(draft) updated f |
|
1610 |/ |
|
1611 | o 5:f84f2c548fbc@default(draft) updated c |
|
1612 |/ |
|
1613 | * 4:2c0a98d38026@default(draft) merge feature branch |
|
1614 | |\ |
|
1615 +---x 3:4c33e511041e@default(draft) added feature f |
|
1616 | | |
|
1617 | x 2:8be98ac1a569@default(draft) added c |
|
1618 |/ |
|
1619 o 1:80e6d2c47cfe@default(draft) added b |
|
1620 | |
|
1621 o 0:f7ad41964313@default(draft) added a |
|
1622 |
|
1623 Now we have one orphan merge and one more orphan cset that we just created. |
|
1624 Lets evolve: |
|
1625 $ hg evolve --all --any |
|
1626 move:[4] merge feature branch |
|
1627 atop:[5] updated c |
|
1628 move:[10] merge feature branch |
|
1629 atop:[6] updated f |
|
1630 move:[8] added e |
|
1631 atop:[9] updated d |
|
1632 working directory is now at 7c67cee06242 |