tests/test-evolve.t
changeset 4343 11b726506204
parent 4208 7d4c80c3f386
child 4344 e5282131a78d
equal deleted inserted replaced
4342:914b9e55f76e 4343:11b726506204
  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   abort: filtered revision '542961dcfd9430cbed06b583606d62f02e3929d5'!
       
  1632   [255]