tests/test-evolve-public-content-divergent.t
branchmercurial-4.4
changeset 4553 aafd51f145ea
parent 4513 d70db7e455dc
equal deleted inserted replaced
4552:0eb80259f9cb 4553:aafd51f145ea
    39   $ hg phase --public
    39   $ hg phase --public
    40 
    40 
    41 Amend again to create a cset divergent to public one:
    41 Amend again to create a cset divergent to public one:
    42 
    42 
    43   $ hg up 1 --hidden -q
    43   $ hg up 1 --hidden -q
    44   updating to a hidden changeset 5f6d8a4bf34a
       
    45   (hidden revision '5f6d8a4bf34a' was rewritten as: 44f360db368f)
       
    46   working directory parent is obsolete! (5f6d8a4bf34a)
    44   working directory parent is obsolete! (5f6d8a4bf34a)
    47 
    45 
    48   $ echo "I am second" >> b
    46   $ echo "I am second" >> b
    49   $ hg ci --amend -m "updated b"
    47   $ hg ci --amend -m "updated b"
    50   1 new content-divergent changesets
       
    51 
    48 
    52   $ hg glog
    49   $ hg glog
    53   @  3:dcdaf152280a updated b
    50   @  3:dcdaf152280a updated b
    54   |   draft content-divergent
    51   |   draft content-divergent
    55   |
    52   |
   136   $ hg phase --public
   133   $ hg phase --public
   137 
   134 
   138 Amend again to create a cset divergent to public one:
   135 Amend again to create a cset divergent to public one:
   139 
   136 
   140   $ hg up 1 --hidden -q
   137   $ hg up 1 --hidden -q
   141   updating to a hidden changeset 5f6d8a4bf34a
       
   142   (hidden revision '5f6d8a4bf34a' was rewritten as: 580f2d01e52c)
       
   143   working directory parent is obsolete! (5f6d8a4bf34a)
   138   working directory parent is obsolete! (5f6d8a4bf34a)
   144 
   139 
   145   $ echo "I am bar" > b
   140   $ echo "I am bar" > b
   146   $ hg ci --amend -m "updated b"
   141   $ hg ci --amend -m "updated b"
   147   1 new content-divergent changesets
       
   148 
   142 
   149   $ hg glog
   143   $ hg glog
   150   @  3:0e805383168e updated b
   144   @  3:0e805383168e updated b
   151   |   draft content-divergent
   145   |   draft content-divergent
   152   |
   146   |
   241       draft
   235       draft
   242   
   236   
   243 
   237 
   244 On user side: user has not pulled yet and amended the rev 2 which created the divergence after pull:
   238 On user side: user has not pulled yet and amended the rev 2 which created the divergence after pull:
   245   $ hg up 2 --hidden -q
   239   $ hg up 2 --hidden -q
   246   updating to a hidden changeset 155349b645be
       
   247   (hidden revision '155349b645be' was rewritten as: c0d7ee6604ea)
       
   248   working directory parent is obsolete! (155349b645be)
   240   working directory parent is obsolete! (155349b645be)
   249 
   241 
   250   $ echo cc >> c
   242   $ echo cc >> c
   251   $ hg ci --amend -m "updated c"
   243   $ hg ci --amend -m "updated c"
   252   2 new content-divergent changesets
       
   253 
   244 
   254 Lets change the phase to --public of branch which is pulled from server:
   245 Lets change the phase to --public of branch which is pulled from server:
   255   $ hg phase --public -r 4
   246   $ hg phase --public -r 4
   256   $ hg glog -p
   247   $ hg glog -p
   257   @  5:f5f9b4fc8b77 updated c
   248   @  5:f5f9b4fc8b77 updated c
   411 
   402 
   412   $ hg prune 3 -s 5
   403   $ hg prune 3 -s 5
   413   1 changesets pruned
   404   1 changesets pruned
   414   $ hg prune 3 -s 4 --hidden
   405   $ hg prune 3 -s 4 --hidden
   415   1 changesets pruned
   406   1 changesets pruned
   416   2 new content-divergent changesets
       
   417 
   407 
   418 Change phase to public for one head:
   408 Change phase to public for one head:
   419   $ hg phase -r 4 --public
   409   $ hg phase -r 4 --public
   420 
   410 
   421   $ hg glog
   411   $ hg glog
   504   
   494   
   505   $ hg prune 'min(desc("re:added d$"))' -s 'max(desc("re:added d$"))'
   495   $ hg prune 'min(desc("re:added d$"))' -s 'max(desc("re:added d$"))'
   506   1 changesets pruned
   496   1 changesets pruned
   507   $ hg prune 'min(desc("re:added d$"))' -s 'desc("added d c e")' --hidden
   497   $ hg prune 'min(desc("re:added d$"))' -s 'desc("added d c e")' --hidden
   508   1 changesets pruned
   498   1 changesets pruned
   509   2 new content-divergent changesets
       
   510 
   499 
   511 Change phase to public for one head:
   500 Change phase to public for one head:
   512   $ hg phase --public -r 'max(desc("re:added d$"))'
   501   $ hg phase --public -r 'max(desc("re:added d$"))'
   513 
   502 
   514   $ hg glog
   503   $ hg glog
   515   @  5:93cd84bbdaca added d
   504   @  5:93cd84bbdaca added d
   516   |   public
   505   |   public
   517   |
   506   |
   518   | *  4:f31bcc378766 added d c e
   507   | o  4:f31bcc378766 added d c e
   519   | |   draft content-divergent
   508   | |   draft content-divergent
   520   | |
   509   | |
   521   o |  2:155349b645be added c
   510   o |  2:155349b645be added c
   522   |/    public
   511   |/    public
   523   |
   512   |
   635   
   624   
   636   $ hg prune 3 -s 5
   625   $ hg prune 3 -s 5
   637   1 changesets pruned
   626   1 changesets pruned
   638   $ hg prune 3 -s 4 --hidden
   627   $ hg prune 3 -s 4 --hidden
   639   1 changesets pruned
   628   1 changesets pruned
   640   2 new content-divergent changesets
       
   641 
   629 
   642 Change phase to public for one head:
   630 Change phase to public for one head:
   643   $ hg phase --public -r 5
   631   $ hg phase --public -r 5
   644 
   632 
   645   $ hg glog
   633   $ hg glog
   646   @  5:93cd84bbdaca added d
   634   @  5:93cd84bbdaca added d
   647   |   public
   635   |   public
   648   |
   636   |
   649   | *  4:9411ad1fe615 added d
   637   | o  4:9411ad1fe615 added d
   650   | |   draft content-divergent
   638   | |   draft content-divergent
   651   | |
   639   | |
   652   o |  2:155349b645be added c
   640   o |  2:155349b645be added c
   653   |/    public
   641   |/    public
   654   |
   642   |
   730   
   718   
   731   $ hg prune 3 -s 5
   719   $ hg prune 3 -s 5
   732   1 changesets pruned
   720   1 changesets pruned
   733   $ hg prune 3 -s 4 --hidden
   721   $ hg prune 3 -s 4 --hidden
   734   1 changesets pruned
   722   1 changesets pruned
   735   2 new content-divergent changesets
       
   736 
   723 
   737 Change phase to public for one head:
   724 Change phase to public for one head:
   738   $ hg phase --public -r 5
   725   $ hg phase --public -r 5
   739 
   726 
   740   $ hg glog
   727   $ hg glog
   741   @  5:93cd84bbdaca added d
   728   @  5:93cd84bbdaca added d
   742   |   public
   729   |   public
   743   |
   730   |
   744   | *  4:3c17c7afaf6e added c e
   731   | o  4:3c17c7afaf6e added c e
   745   | |   draft content-divergent
   732   | |   draft content-divergent
   746   | |
   733   | |
   747   o |  2:155349b645be added c
   734   o |  2:155349b645be added c
   748   |/    public
   735   |/    public
   749   |
   736   |
   901   
   888   
   902   $ hg prune 'min(desc("added d"))' -s 'max(desc("added d"))'
   889   $ hg prune 'min(desc("added d"))' -s 'max(desc("added d"))'
   903   1 changesets pruned
   890   1 changesets pruned
   904   $ hg prune 'min(desc("added d"))' -s 'desc("added c e")' --hidden
   891   $ hg prune 'min(desc("added d"))' -s 'desc("added c e")' --hidden
   905   1 changesets pruned
   892   1 changesets pruned
   906   2 new content-divergent changesets
       
   907 
   893 
   908 Change phase to public for one head:
   894 Change phase to public for one head:
   909   $ hg phase --public -r 'max(desc("added d"))'
   895   $ hg phase --public -r 'max(desc("added d"))'
   910 
   896 
   911   $ hg glog
   897   $ hg glog
   912   @  5:93cd84bbdaca added d
   898   @  5:93cd84bbdaca added d
   913   |   public
   899   |   public
   914   |
   900   |
   915   | *  4:e568fd1029bb added c e
   901   | o  4:e568fd1029bb added c e
   916   | |   draft content-divergent
   902   | |   draft content-divergent
   917   | |
   903   | |
   918   o |  2:155349b645be added c
   904   o |  2:155349b645be added c
   919   |/    public
   905   |/    public
   920   |
   906   |
   951   |  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   937   |  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   952   |  +++ b/c	Thu Jan 01 00:00:00 1970 +0000
   938   |  +++ b/c	Thu Jan 01 00:00:00 1970 +0000
   953   |  @@ -0,0 +1,1 @@
   939   |  @@ -0,0 +1,1 @@
   954   |  +c
   940   |  +c
   955   |
   941   |
   956   | *  4:e568fd1029bb added c e
   942   | o  4:e568fd1029bb added c e
   957   |/    draft content-divergent
   943   |/    draft content-divergent
   958   |
   944   |
   959   |    diff -r 5f6d8a4bf34a -r e568fd1029bb c
   945   |    diff -r 5f6d8a4bf34a -r e568fd1029bb c
   960   |    --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   946   |    --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   961   |    +++ b/c	Thu Jan 01 00:00:00 1970 +0000
   947   |    +++ b/c	Thu Jan 01 00:00:00 1970 +0000
   987   
   973   
   988 
   974 
   989   $ hg obslog --all --rev tip --patch
   975   $ hg obslog --all --rev tip --patch
   990   @  93cd84bbdaca (5) added d
   976   @  93cd84bbdaca (5) added d
   991   |
   977   |
   992   | *  e568fd1029bb (4) added c e
   978   | o  e568fd1029bb (4) added c e
   993   |/
   979   |/
   994   x  9150fe93bec6 (3) added d
   980   x  9150fe93bec6 (3) added d
   995        rewritten(content) as 93cd84bbdaca using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   981        rewritten(content) as 93cd84bbdaca using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   996          diff -r 9150fe93bec6 -r 93cd84bbdaca d
   982          diff -r 9150fe93bec6 -r 93cd84bbdaca d
   997          --- a/d	Thu Jan 01 00:00:00 1970 +0000
   983          --- a/d	Thu Jan 01 00:00:00 1970 +0000
  1141 
  1127 
  1142   $ hg prune 2 -s 3
  1128   $ hg prune 2 -s 3
  1143   1 changesets pruned
  1129   1 changesets pruned
  1144   $ hg prune 2 -s 4 --hidden
  1130   $ hg prune 2 -s 4 --hidden
  1145   1 changesets pruned
  1131   1 changesets pruned
  1146   2 new content-divergent changesets
       
  1147   $ hg phase --public -r 4
  1132   $ hg phase --public -r 4
  1148 
  1133 
  1149   $ hg glog
  1134   $ hg glog
  1150   @  4:f7c1071f1e7c added c
  1135   @  4:f7c1071f1e7c added c
  1151   |   public
  1136   |   public
  1152   |
  1137   |
  1153   | *  3:90522bccf499 added ch
  1138   | o  3:90522bccf499 added ch
  1154   |/    draft content-divergent
  1139   |/    draft content-divergent
  1155   |
  1140   |
  1156   o  1:5f6d8a4bf34a added b
  1141   o  1:5f6d8a4bf34a added b
  1157   |   public
  1142   |   public
  1158   |
  1143   |
  1232 
  1217 
  1233   $ hg prune 3 -s 4
  1218   $ hg prune 3 -s 4
  1234   1 changesets pruned
  1219   1 changesets pruned
  1235   $ hg prune 3 -s 5 --hidden
  1220   $ hg prune 3 -s 5 --hidden
  1236   1 changesets pruned
  1221   1 changesets pruned
  1237   2 new content-divergent changesets
       
  1238   $ hg phase --public -r 5
  1222   $ hg phase --public -r 5
  1239 
  1223 
  1240   $ hg glog
  1224   $ hg glog
  1241   @  5:e800202333a4 added d
  1225   @  5:e800202333a4 added d
  1242   |   public
  1226   |   public
  1243   |
  1227   |
  1244   | *  4:5acd58ef5066 added dh
  1228   | o  4:5acd58ef5066 added dh
  1245   | |   draft content-divergent
  1229   | |   draft content-divergent
  1246   | |
  1230   | |
  1247   o |  2:155349b645be added c
  1231   o |  2:155349b645be added c
  1248   |/    public
  1232   |/    public
  1249   |
  1233   |
  1323 
  1307 
  1324   $ hg prune 2 -s 3
  1308   $ hg prune 2 -s 3
  1325   1 changesets pruned
  1309   1 changesets pruned
  1326   $ hg prune 2 -s 4 --hidden
  1310   $ hg prune 2 -s 4 --hidden
  1327   1 changesets pruned
  1311   1 changesets pruned
  1328   2 new content-divergent changesets
       
  1329   $ hg phase --public -r 4
  1312   $ hg phase --public -r 4
  1330 
  1313 
  1331   $ hg glog
  1314   $ hg glog
  1332   @  4:f7c1071f1e7c added c
  1315   @  4:f7c1071f1e7c added c
  1333   |   public
  1316   |   public
  1334   |
  1317   |
  1335   | *  3:229da2719b19 added ch
  1318   | o  3:229da2719b19 added ch
  1336   |/    draft content-divergent
  1319   |/    draft content-divergent
  1337   |
  1320   |
  1338   o  1:5f6d8a4bf34a added b
  1321   o  1:5f6d8a4bf34a added b
  1339   |   public
  1322   |   public
  1340   |
  1323   |
  1436 
  1419 
  1437   $ hg prune 3 -s 4
  1420   $ hg prune 3 -s 4
  1438   1 changesets pruned
  1421   1 changesets pruned
  1439   $ hg prune 3 -s 5 --hidden
  1422   $ hg prune 3 -s 5 --hidden
  1440   1 changesets pruned
  1423   1 changesets pruned
  1441   2 new content-divergent changesets
       
  1442   $ hg phase --public -r 5
  1424   $ hg phase --public -r 5
  1443 
  1425 
  1444   $ hg glog
  1426   $ hg glog
  1445   @  5:e800202333a4 added d
  1427   @  5:e800202333a4 added d
  1446   |   public
  1428   |   public
  1447   |
  1429   |
  1448   | *  4:f89a8e2f86ac added dh
  1430   | o  4:f89a8e2f86ac added dh
  1449   | |   draft content-divergent
  1431   | |   draft content-divergent
  1450   | |
  1432   | |
  1451   o |  2:155349b645be added c
  1433   o |  2:155349b645be added c
  1452   |/    public
  1434   |/    public
  1453   |
  1435   |
  1543 
  1525 
  1544   $ hg prune 3 -s 4
  1526   $ hg prune 3 -s 4
  1545   1 changesets pruned
  1527   1 changesets pruned
  1546   $ hg prune 3 -s 5 --hidden
  1528   $ hg prune 3 -s 5 --hidden
  1547   1 changesets pruned
  1529   1 changesets pruned
  1548   2 new content-divergent changesets
       
  1549   $ hg phase --public -r 5
  1530   $ hg phase --public -r 5
  1550 
  1531 
  1551   $ hg glog
  1532   $ hg glog
  1552   @  5:e800202333a4 added d
  1533   @  5:e800202333a4 added d
  1553   |   public
  1534   |   public
  1554   |
  1535   |
  1555   | *  4:db0b7bba0aae added dh
  1536   | o  4:db0b7bba0aae added dh
  1556   | |   draft content-divergent
  1537   | |   draft content-divergent
  1557   | |
  1538   | |
  1558   o |  2:155349b645be added c
  1539   o |  2:155349b645be added c
  1559   |/    public
  1540   |/    public
  1560   |
  1541   |
  1651 
  1632 
  1652   $ hg prune 3 -s 4
  1633   $ hg prune 3 -s 4
  1653   1 changesets pruned
  1634   1 changesets pruned
  1654   $ hg prune 3 -s 5 --hidden
  1635   $ hg prune 3 -s 5 --hidden
  1655   1 changesets pruned
  1636   1 changesets pruned
  1656   2 new content-divergent changesets
       
  1657   $ hg phase --public -r 5
  1637   $ hg phase --public -r 5
  1658 
  1638 
  1659   $ hg glog
  1639   $ hg glog
  1660   @  5:e800202333a4 added d
  1640   @  5:e800202333a4 added d
  1661   |   public
  1641   |   public
  1662   |
  1642   |
  1663   | *  4:67b19bbd770f added dh
  1643   | o  4:67b19bbd770f added dh
  1664   | |   draft content-divergent
  1644   | |   draft content-divergent
  1665   | |
  1645   | |
  1666   o |  2:155349b645be added c
  1646   o |  2:155349b645be added c
  1667   |/    public
  1647   |/    public
  1668   |
  1648   |
  1753   rebasing 6:77ccbf8d837e "c_F" (tip)
  1733   rebasing 6:77ccbf8d837e "c_F" (tip)
  1754   $ hg phase --public tip
  1734   $ hg phase --public tip
  1755   $ hg rebase --hidden -s $node -d 'desc("c_C")' --config experimental.evolution.allowdivergence=yes
  1735   $ hg rebase --hidden -s $node -d 'desc("c_C")' --config experimental.evolution.allowdivergence=yes
  1756   rebasing 5:4ab2719bbab9 "c_E"
  1736   rebasing 5:4ab2719bbab9 "c_E"
  1757   rebasing 6:77ccbf8d837e "c_F"
  1737   rebasing 6:77ccbf8d837e "c_F"
  1758   2 new content-divergent changesets
       
  1759 
  1738 
  1760   $ hg sum
  1739   $ hg sum
  1761   parent: 8:a52ac76b45f5 
  1740   parent: 8:a52ac76b45f5 
  1762    c_F
  1741    c_F
  1763   branch: default
  1742   branch: default
  1771   
  1750   
  1772   8ae8db670b4a: c_F
  1751   8ae8db670b4a: c_F
  1773     content-divergent: a52ac76b45f5 (public) (precursor 77ccbf8d837e)
  1752     content-divergent: a52ac76b45f5 (public) (precursor 77ccbf8d837e)
  1774   
  1753   
  1775   $ hg log -G --patch
  1754   $ hg log -G --patch
  1776   *  changeset:   10:8ae8db670b4a
  1755   o  changeset:   10:8ae8db670b4a
  1777   |  tag:         tip
  1756   |  tag:         tip
  1778   |  user:        test
  1757   |  user:        test
  1779   |  date:        Thu Jan 01 00:00:00 1970 +0000
  1758   |  date:        Thu Jan 01 00:00:00 1970 +0000
  1780   |  instability: content-divergent
  1759   |  instability: content-divergent
  1781   |  summary:     c_F
  1760   |  summary:     c_F
  1784   |  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
  1763   |  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
  1785   |  +++ b/c_F	Thu Jan 01 00:00:00 1970 +0000
  1764   |  +++ b/c_F	Thu Jan 01 00:00:00 1970 +0000
  1786   |  @@ -0,0 +1,1 @@
  1765   |  @@ -0,0 +1,1 @@
  1787   |  +c_F
  1766   |  +c_F
  1788   |
  1767   |
  1789   *  changeset:   9:b4a584aea4bd
  1768   o  changeset:   9:b4a584aea4bd
  1790   |  parent:      3:abb77b893f28
  1769   |  parent:      3:abb77b893f28
  1791   |  user:        test
  1770   |  user:        test
  1792   |  date:        Thu Jan 01 00:00:00 1970 +0000
  1771   |  date:        Thu Jan 01 00:00:00 1970 +0000
  1793   |  instability: content-divergent
  1772   |  instability: content-divergent
  1794   |  summary:     c_E
  1773   |  summary:     c_E
  1886   base: [5] c_E
  1865   base: [5] c_E
  1887   rebasing "other" content-divergent changeset b4a584aea4bd on eb1b4e1205b8
  1866   rebasing "other" content-divergent changeset b4a584aea4bd on eb1b4e1205b8
  1888   updating to "local" side of the conflict: c7d2d47c7240
  1867   updating to "local" side of the conflict: c7d2d47c7240
  1889   merging "other" content-divergent changeset '0773642cfa95'
  1868   merging "other" content-divergent changeset '0773642cfa95'
  1890   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1869   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1891   1 new orphan changesets
       
  1892   merge:[8] c_F
  1870   merge:[8] c_F
  1893   with: [10] c_F
  1871   with: [10] c_F
  1894   base: [6] c_F
  1872   base: [6] c_F
  1895   rebasing "other" content-divergent changeset 8ae8db670b4a on c7d2d47c7240
  1873   rebasing "other" content-divergent changeset 8ae8db670b4a on c7d2d47c7240
  1896   updating to "local" side of the conflict: a52ac76b45f5
  1874   updating to "local" side of the conflict: a52ac76b45f5