tests/test-evolve.t
branchmercurial-4.4
changeset 4516 f54bb6eaf5e6
parent 4363 a2fdbece7ce1
parent 4513 d70db7e455dc
child 4675 79bc0f1a832e
equal deleted inserted replaced
4514:ef1c322c389d 4516:f54bb6eaf5e6
   341 
   341 
   342 
   342 
   343 (amend of on ancestors)
   343 (amend of on ancestors)
   344 
   344 
   345   $ hg amend
   345   $ hg amend
   346   1 new orphan changesets
       
   347   $ hg log
   346   $ hg log
   348   4	feature-A: a nifty feature - test
   347   4	feature-A: a nifty feature - test
   349   3	feature-B: another feature (child of 568a468b60fc) - test
   348   3	feature-B: another feature (child of 568a468b60fc) - test
   350   1	: a nifty feature - test
   349   1	: a nifty feature - test
   351   0	: base - test
   350   0	: base - test
   352   $ hg up -q 0
   351   $ hg up -q 0
   353   $ glog --hidden
   352   $ glog --hidden
   354   o  4:ba0ec09b1bab@default(draft) a nifty feature
   353   o  4:ba0ec09b1bab@default(draft) a nifty feature
   355   |
   354   |
   356   | *  3:6992c59c6b06@default(draft) another feature (child of 568a468b60fc)
   355   | o  3:6992c59c6b06@default(draft) another feature (child of 568a468b60fc)
   357   | |
   356   | |
   358   | | x  2:73296a82292a@default(draft) another feature (child of 568a468b60fc)
   357   | | x  2:73296a82292a@default(draft) another feature (child of 568a468b60fc)
   359   | |/
   358   | |/
   360   | x  1:568a468b60fc@default(draft) a nifty feature
   359   | x  1:568a468b60fc@default(draft) a nifty feature
   361   |/
   360   |/
   390   0	: base - test
   389   0	: base - test
   391 
   390 
   392 phase change turning obsolete changeset public issues a phase divergence warning
   391 phase change turning obsolete changeset public issues a phase divergence warning
   393 
   392 
   394   $ hg phase --hidden --public 99833d22b0c6
   393   $ hg phase --hidden --public 99833d22b0c6
   395   1 new phase-divergent changesets
       
   396 
   394 
   397 all solving phase-divergent
   395 all solving phase-divergent
   398 
   396 
   399   $ glog
   397   $ glog
   400   @  6:47d52a103155@default(draft) another feature that rox
   398   @  6:47d52a103155@default(draft) another feature that rox
   436   $ hg commit -m 'dansk 3!'
   434   $ hg commit -m 'dansk 3!'
   437   $ hg update aca219761afb
   435   $ hg update aca219761afb
   438   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   436   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   439   $ sed -i'' -e s/Un/Én/ main-file-1
   437   $ sed -i'' -e s/Un/Én/ main-file-1
   440   $ hg commit --amend -m 'dansk!'
   438   $ hg commit --amend -m 'dansk!'
   441   2 new orphan changesets
       
   442 
   439 
   443 (ninja test for the {trouble} template:
   440 (ninja test for the {trouble} template:
   444 
   441 
   445   $ hg log -G --template '{rev} {troubles}\n'
   442   $ hg log -G --template '{rev} {troubles}\n'
   446   @  10
   443   @  10
   447   |
   444   |
   448   | *  9 orphan
   445   | o  9 orphan
   449   | |
   446   | |
   450   | *  8 orphan
   447   | o  8 orphan
   451   | |
   448   | |
   452   | x  7
   449   | x  7
   453   |/
   450   |/
   454   o  5
   451   o  5
   455   |
   452   |
   823   adding b
   820   adding b
   824   $ hg mv a c
   821   $ hg mv a c
   825   $ hg ci -m c
   822   $ hg ci -m c
   826   $ hg prune .^
   823   $ hg prune .^
   827   1 changesets pruned
   824   1 changesets pruned
   828   1 new orphan changesets
       
   829   $ hg stab --any
   825   $ hg stab --any
   830   move:[15] c
   826   move:[15] c
   831   atop:[13] a
   827   atop:[13] a
   832   working directory is now at 3742bde73477
   828   working directory is now at 3742bde73477
   833   $ hg st -C --change=tip
   829   $ hg st -C --change=tip
   900   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   896   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   901   $ hg branch mybranch
   897   $ hg branch mybranch
   902   marked working directory as branch mybranch
   898   marked working directory as branch mybranch
   903   (branches are permanent and global, did you want a bookmark?)
   899   (branches are permanent and global, did you want a bookmark?)
   904   $ hg amend
   900   $ hg amend
   905   1 new orphan changesets
       
   906 
   901 
   907   $ hg evolve
   902   $ hg evolve
   908   move:[3] a3
   903   move:[3] a3
   909   atop:[4] a2
   904   atop:[4] a2
   910   working directory is now at 7c5649f73d11
   905   working directory is now at 7c5649f73d11
   922 branch change preserved
   917 branch change preserved
   923 
   918 
   924   $ hg up 'desc(a1)'
   919   $ hg up 'desc(a1)'
   925   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   920   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   926   $ hg amend -m 'a1_'
   921   $ hg amend -m 'a1_'
   927   2 new orphan changesets
       
   928   $ hg evolve
   922   $ hg evolve
   929   move:[4] a2
   923   move:[4] a2
   930   atop:[6] a1_
   924   atop:[6] a1_
   931   working directory is now at eb07e22a0e63
   925   working directory is now at eb07e22a0e63
   932   $ hg evolve
   926   $ hg evolve
   946 Evolve from the middle of a stack pick the right changesets.
   940 Evolve from the middle of a stack pick the right changesets.
   947 
   941 
   948   $ hg up -r "desc('a1_')"
   942   $ hg up -r "desc('a1_')"
   949   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   943   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   950   $ hg ci --amend -m 'a1__'
   944   $ hg ci --amend -m 'a1__'
   951   2 new orphan changesets
       
   952 
   945 
   953   $ hg up -r "desc('a2')"
   946   $ hg up -r "desc('a2')"
   954   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   947   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   955   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
   948   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
   956   o  9 [default] a1__
   949   o  9 [default] a1__
   957   |
   950   |
   958   | *  8 [mybranch] a3
   951   | o  8 [mybranch] a3
   959   | |
   952   | |
   960   | @  7 [mybranch] a2
   953   | @  7 [mybranch] a2
   961   | |
   954   | |
   962   | x  6 [default] a1_
   955   | x  6 [default] a1_
   963   |/
   956   |/
   987   $ glog
   980   $ glog
   988   @  10:d952e93add6f@mybranch(draft) a2
   981   @  10:d952e93add6f@mybranch(draft) a2
   989   |
   982   |
   990   o  9:9f8b83c2e7f3@default(draft) a1__
   983   o  9:9f8b83c2e7f3@default(draft) a1__
   991   |
   984   |
   992   | *  8:777c26ca5e78@mybranch(draft) a3
   985   | o  8:777c26ca5e78@mybranch(draft) a3
   993   | |
   986   | |
   994   | x  7:eb07e22a0e63@mybranch(draft) a2
   987   | x  7:eb07e22a0e63@mybranch(draft) a2
   995   | |
   988   | |
   996   | x  6:faafc6cea0ba@default(draft) a1_
   989   | x  6:faafc6cea0ba@default(draft) a1_
   997   |/
   990   |/
  1007   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
  1000   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
  1008   o  10 [mybranch] a2
  1001   o  10 [mybranch] a2
  1009   |
  1002   |
  1010   @  9 [default] a1__
  1003   @  9 [default] a1__
  1011   |
  1004   |
  1012   | *  8 [mybranch] a3
  1005   | o  8 [mybranch] a3
  1013   | |
  1006   | |
  1014   | x  7 [mybranch] a2
  1007   | x  7 [mybranch] a2
  1015   | |
  1008   | |
  1016   | x  6 [default] a1_
  1009   | x  6 [default] a1_
  1017   |/
  1010   |/
  1019   
  1012   
  1020   $ echo "hello world" > newfile
  1013   $ echo "hello world" > newfile
  1021   $ hg add newfile
  1014   $ hg add newfile
  1022   $ hg commit -m "add new file bumped" -o 10
  1015   $ hg commit -m "add new file bumped" -o 10
  1023   $ hg phase --public --hidden d952e93add6f
  1016   $ hg phase --public --hidden d952e93add6f
  1024   1 new phase-divergent changesets
       
  1025   $ hg log -G
  1017   $ hg log -G
  1026   @  11	: add new file bumped - test
  1018   @  11	: add new file bumped - test
  1027   |
  1019   |
  1028   | o  10	: a2 - test
  1020   | o  10	: a2 - test
  1029   |/
  1021   |/
  1030   o  9	testbookmark: a1__ - test
  1022   o  9	testbookmark: a1__ - test
  1031   |
  1023   |
  1032   | *  8	: a3 - test
  1024   | o  8	: a3 - test
  1033   | |
  1025   | |
  1034   | x  7	: a2 - test
  1026   | x  7	: a2 - test
  1035   | |
  1027   | |
  1036   | x  6	: a1_ - test
  1028   | x  6	: a1_ - test
  1037   |/
  1029   |/
  1046   |
  1038   |
  1047   | o  10	: a2 - test
  1039   | o  10	: a2 - test
  1048   |/
  1040   |/
  1049   o  9	testbookmark: a1__ - test
  1041   o  9	testbookmark: a1__ - test
  1050   |
  1042   |
  1051   | *  8	: a3 - test
  1043   | o  8	: a3 - test
  1052   | |
  1044   | |
  1053   | x  7	: a2 - test
  1045   | x  7	: a2 - test
  1054   | |
  1046   | |
  1055   | x  6	: a1_ - test
  1047   | x  6	: a1_ - test
  1056   |/
  1048   |/
  1102   o  9	testbookmark: a1__ - test
  1094   o  9	testbookmark: a1__ - test
  1103   |
  1095   |
  1104   o  0	: a0 - test
  1096   o  0	: a0 - test
  1105   
  1097   
  1106   $ hg amend
  1098   $ hg amend
  1107   2 new orphan changesets
       
  1108   $ glog
  1099   $ glog
  1109   @  16:0cf3707e8971@default(draft) a3
  1100   @  16:0cf3707e8971@default(draft) a3
  1110   |
  1101   |
  1111   | *  15:daa1ff1c7fbd@default(draft) add gh
  1102   | o  15:daa1ff1c7fbd@default(draft) add gh
  1112   | |
  1103   | |
  1113   | | *  14:484fb3cfa7f2@default(draft) add gg
  1104   | | o  14:484fb3cfa7f2@default(draft) add gg
  1114   | |/
  1105   | |/
  1115   | x  13:b88539ad24d7@default(draft) a3
  1106   | x  13:b88539ad24d7@default(draft) a3
  1116   |/
  1107   |/
  1117   o  12:a8bb31d4b7f2@default(draft) phase-divergent update to d952e93add6f:
  1108   o  12:a8bb31d4b7f2@default(draft) phase-divergent update to d952e93add6f:
  1118   |
  1109   |
  1248   [255]
  1239   [255]
  1249 
  1240 
  1250 Shows "use 'hg evolve' to..." hints iff the evolve command is enabled
  1241 Shows "use 'hg evolve' to..." hints iff the evolve command is enabled
  1251 
  1242 
  1252   $ hg --hidden up 14
  1243   $ hg --hidden up 14
  1253   updating to a hidden changeset 484fb3cfa7f2
       
  1254   (hidden revision '484fb3cfa7f2' was rewritten as: 98e171e2f272)
       
  1255   2 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1244   2 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1256   working directory parent is obsolete! (484fb3cfa7f2)
  1245   working directory parent is obsolete! (484fb3cfa7f2)
  1257   $ cat >> $HGRCPATH <<EOF
  1246   $ cat >> $HGRCPATH <<EOF
  1258   > [experimental]
  1247   > [experimental]
  1259   > evolutioncommands=evolve
  1248   > evolutioncommands=evolve
  1260   > EOF
  1249   > EOF
  1261   $ hg --hidden up 15
  1250   $ hg --hidden up 15
  1262   updating to a hidden changeset daa1ff1c7fbd
       
  1263   (hidden revision 'daa1ff1c7fbd' was rewritten as: 0c049e4e5422)
       
  1264   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1251   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1265   working directory parent is obsolete! (daa1ff1c7fbd)
  1252   working directory parent is obsolete! (daa1ff1c7fbd)
  1266   (use 'hg evolve' to update to its successor: 0c049e4e5422)
  1253   (use 'hg evolve' to update to its successor: 0c049e4e5422)
  1267 
  1254 
  1268 Restore all of the evolution features
  1255 Restore all of the evolution features
  1281   $ hg up .^^
  1268   $ hg up .^^
  1282   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1269   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1283   $ echo "hello" > j4
  1270   $ echo "hello" > j4
  1284   $ hg add j4
  1271   $ hg add j4
  1285   $ hg amend
  1272   $ hg amend
  1286   2 new orphan changesets
       
  1287   $ glog -r "0cf3707e8971::"
  1273   $ glog -r "0cf3707e8971::"
  1288   @  22:274b6cd0c101@default(draft) add j1
  1274   @  22:274b6cd0c101@default(draft) add j1
  1289   |
  1275   |
  1290   | *  21:89e4f7e8feb5@default(draft) add j3
  1276   | o  21:89e4f7e8feb5@default(draft) add j3
  1291   | |
  1277   | |
  1292   | *  20:4cd61236beca@default(draft) add j2
  1278   | o  20:4cd61236beca@default(draft) add j2
  1293   | |
  1279   | |
  1294   | x  19:0fd8bfb02de4@default(draft) add j1
  1280   | x  19:0fd8bfb02de4@default(draft) add j1
  1295   |/
  1281   |/
  1296   | o  18:0c049e4e5422@default(draft) add gh
  1282   | o  18:0c049e4e5422@default(draft) add gh
  1297   | |
  1283   | |
  1325   new changeset is empty
  1311   new changeset is empty
  1326   (use 'hg prune .' to remove it)
  1312   (use 'hg prune .' to remove it)
  1327   $ glog -r "0cf3707e8971::"
  1313   $ glog -r "0cf3707e8971::"
  1328   @  23:0ef9ff75f8e2@default(draft) add j1
  1314   @  23:0ef9ff75f8e2@default(draft) add j1
  1329   |
  1315   |
  1330   | *  21:89e4f7e8feb5@default(draft) add j3
  1316   | o  21:89e4f7e8feb5@default(draft) add j3
  1331   | |
  1317   | |
  1332   | *  20:4cd61236beca@default(draft) add j2
  1318   | o  20:4cd61236beca@default(draft) add j2
  1333   | |
  1319   | |
  1334   | x  19:0fd8bfb02de4@default(draft) add j1
  1320   | x  19:0fd8bfb02de4@default(draft) add j1
  1335   |/
  1321   |/
  1336   | o  18:0c049e4e5422@default(draft) add gh
  1322   | o  18:0c049e4e5422@default(draft) add gh
  1337   | |
  1323   | |
  1452   $ printf "pp" > pp;
  1438   $ printf "pp" > pp;
  1453   $ hg add pp
  1439   $ hg add pp
  1454   $ hg commit -m "_pp"
  1440   $ hg commit -m "_pp"
  1455   $ hg prune --succ "desc(_oo) + desc(_pp)" -r "desc('oo+pp')" --split
  1441   $ hg prune --succ "desc(_oo) + desc(_pp)" -r "desc('oo+pp')" --split
  1456   1 changesets pruned
  1442   1 changesets pruned
  1457   1 new orphan changesets
       
  1458   $ glog -r "0cf3707e8971::"
  1443   $ glog -r "0cf3707e8971::"
  1459   @  32:c7dbf668e9d5@default(draft) _pp
  1444   @  32:c7dbf668e9d5@default(draft) _pp
  1460   |
  1445   |
  1461   o  31:2b5a32114b3d@default(draft) _oo
  1446   o  31:2b5a32114b3d@default(draft) _oo
  1462   |
  1447   |
  1463   | *  30:4d122571f3b6@default(draft) add uu
  1448   | o  30:4d122571f3b6@default(draft) add uu
  1464   | |
  1449   | |
  1465   | x  29:7da3e73df8a5@default(draft) oo+pp
  1450   | x  29:7da3e73df8a5@default(draft) oo+pp
  1466   |/
  1451   |/
  1467   | o  28:92ca6f3984de@default(draft) add gg
  1452   | o  28:92ca6f3984de@default(draft) add gg
  1468   | |
  1453   | |
  1519   ~
  1504   ~
  1520 
  1505 
  1521   $ hg update -q 98c7ab460e6b
  1506   $ hg update -q 98c7ab460e6b
  1522   $ echo "amended" > newfile
  1507   $ echo "amended" > newfile
  1523   $ hg amend -m "amended"
  1508   $ hg amend -m "amended"
  1524   2 new orphan changesets
       
  1525 
  1509 
  1526   $ hg evolve --rev "98c7ab460e6b::"
  1510   $ hg evolve --rev "98c7ab460e6b::"
  1527   move:[35] will be evolved safely
  1511   move:[35] will be evolved safely
  1528   atop:[37] amended
  1512   atop:[37] amended
  1529   move:[36] will cause conflict at evolve
  1513   move:[36] will cause conflict at evolve
  1567 
  1551 
  1568   $ hg log -GT "{rev}:{node|short} {desc} {bookmarks}\n"
  1552   $ hg log -GT "{rev}:{node|short} {desc} {bookmarks}\n"
  1569   @  1:ab832e43dd5a added a
  1553   @  1:ab832e43dd5a added a
  1570   
  1554   
  1571   $ hg up f7ad41964313 --hidden
  1555   $ hg up f7ad41964313 --hidden
  1572   updating to a hidden changeset f7ad41964313
       
  1573   (hidden revision 'f7ad41964313' was rewritten as: ab832e43dd5a)
       
  1574   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1556   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1575   working directory parent is obsolete! (f7ad41964313)
  1557   working directory parent is obsolete! (f7ad41964313)
  1576   (use 'hg evolve' to update to its successor: ab832e43dd5a)
  1558   (use 'hg evolve' to update to its successor: ab832e43dd5a)
  1577 
  1559 
  1578   $ hg bookmark book
  1560   $ hg bookmark book
  1625 
  1607 
  1626 Now make the parents of merge commit obsolete to get a orphan merge:
  1608 Now make the parents of merge commit obsolete to get a orphan merge:
  1627   $ hg up 2 -q
  1609   $ hg up 2 -q
  1628   $ echo "fixit" > c
  1610   $ echo "fixit" > c
  1629   $ hg ci --amend -m "updated c"
  1611   $ hg ci --amend -m "updated c"
  1630   1 new orphan changesets
       
  1631   $ hg up 3 -q
  1612   $ hg up 3 -q
  1632   $ echo "fixit" > c
  1613   $ echo "fixit" > c
  1633   $ hg ci --amend -m "updated f"
  1614   $ hg ci --amend -m "updated f"
  1634   $ glog
  1615   $ glog
  1635   @  6:086d9bedcd75@default(draft) updated f
  1616   @  6:086d9bedcd75@default(draft) updated f
  1636   |
  1617   |
  1637   | o  5:f84f2c548fbc@default(draft) updated c
  1618   | o  5:f84f2c548fbc@default(draft) updated c
  1638   |/
  1619   |/
  1639   | *    4:2c0a98d38026@default(draft) merge feature branch
  1620   | o    4:2c0a98d38026@default(draft) merge feature branch
  1640   | |\
  1621   | |\
  1641   +---x  3:4c33e511041e@default(draft) added feature f
  1622   +---x  3:4c33e511041e@default(draft) added feature f
  1642   | |
  1623   | |
  1643   | x  2:8be98ac1a569@default(draft) added c
  1624   | x  2:8be98ac1a569@default(draft) added c
  1644   |/
  1625   |/
  1660   adding e
  1641   adding e
  1661   $ hg up .^
  1642   $ hg up .^
  1662   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1643   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1663   $ echo "updated d" >> d
  1644   $ echo "updated d" >> d
  1664   $ hg ci --amend -m "updated d"
  1645   $ hg ci --amend -m "updated d"
  1665   1 new orphan changesets
       
  1666   $ glog
  1646   $ glog
  1667   @  9:7c4d1834c346@default(draft) updated d
  1647   @  9:7c4d1834c346@default(draft) updated d
  1668   |
  1648   |
  1669   | *  8:421f7614462a@default(draft) added e
  1649   | o  8:421f7614462a@default(draft) added e
  1670   | |
  1650   | |
  1671   | x  7:afe5acea1990@default(draft) added d
  1651   | x  7:afe5acea1990@default(draft) added d
  1672   |/
  1652   |/
  1673   | o  6:086d9bedcd75@default(draft) updated f
  1653   | o  6:086d9bedcd75@default(draft) updated f
  1674   |/
  1654   |/
  1675   | o  5:f84f2c548fbc@default(draft) updated c
  1655   | o  5:f84f2c548fbc@default(draft) updated c
  1676   |/
  1656   |/
  1677   | *    4:2c0a98d38026@default(draft) merge feature branch
  1657   | o    4:2c0a98d38026@default(draft) merge feature branch
  1678   | |\
  1658   | |\
  1679   +---x  3:4c33e511041e@default(draft) added feature f
  1659   +---x  3:4c33e511041e@default(draft) added feature f
  1680   | |
  1660   | |
  1681   | x  2:8be98ac1a569@default(draft) added c
  1661   | x  2:8be98ac1a569@default(draft) added c
  1682   |/
  1662   |/