tests/test-evolve-phase-divergence.t
branchmercurial-4.4
changeset 4562 d96016b46283
parent 4553 aafd51f145ea
child 4675 79bc0f1a832e
equal deleted inserted replaced
4561:4f98144368f3 4562:d96016b46283
   121 XXX: pull should tell us how to see what is the new phase-divergent changeset
   121 XXX: pull should tell us how to see what is the new phase-divergent changeset
   122   $ hg pull ../public
   122   $ hg pull ../public
   123   pulling from ../public
   123   pulling from ../public
   124   searching for changes
   124   searching for changes
   125   no changes found
   125   no changes found
   126   1 new phase-divergent changesets
       
   127 
   126 
   128   $ hg glog
   127   $ hg glog
   129   @  2:98bb3a6cfe1a tweak a
   128   @  2:98bb3a6cfe1a tweak a
   130   |   () draft
   129   |   () draft
   131   | o  1:4d1169d82e47 modify a
   130   | o  1:4d1169d82e47 modify a
   290 
   289 
   291   $ hg pull ../public
   290   $ hg pull ../public
   292   pulling from ../public
   291   pulling from ../public
   293   searching for changes
   292   searching for changes
   294   no changes found
   293   no changes found
   295   1 new phase-divergent changesets
       
   296 
   294 
   297   $ hg glog
   295   $ hg glog
   298   @  4:d47f2b37ed82 added bar to foo
   296   @  4:d47f2b37ed82 added bar to foo
   299   |   (bm) draft
   297   |   (bm) draft
   300   | o  3:aa071e5554e3 added foo to foo
   298   | o  3:aa071e5554e3 added foo to foo
   443 
   441 
   444   $ hg pull ../public
   442   $ hg pull ../public
   445   pulling from ../public
   443   pulling from ../public
   446   searching for changes
   444   searching for changes
   447   no changes found
   445   no changes found
   448   1 new phase-divergent changesets
       
   449 
   446 
   450   $ hg glog
   447   $ hg glog
   451   @  7:2c3560aedead foo to bar
   448   @  7:2c3560aedead foo to bar
   452   |   (bm) draft
   449   |   (bm) draft
   453   | o  6:b756eb10ea73 added bar to bar
   450   | o  6:b756eb10ea73 added bar to bar
   573 
   570 
   574   $ hg pull ../public
   571   $ hg pull ../public
   575   pulling from ../public
   572   pulling from ../public
   576   searching for changes
   573   searching for changes
   577   no changes found
   574   no changes found
   578   1 new phase-divergent changesets
       
   579 
   575 
   580   $ hg obslog -r .
   576   $ hg obslog -r .
   581   @  334e300d6db5 (10) added x to x
   577   @  334e300d6db5 (10) added x to x
   582   |
   578   |
   583   o  2352021b3785 (9) added x to x
   579   o  2352021b3785 (9) added x to x
   584        rewritten(parent) as 334e300d6db5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   580        rewritten(parent) as 334e300d6db5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   585   
   581   
   586   $ hg glog -r .^::
   582   $ hg glog -r .^::
   587   @  10:334e300d6db5 added x to x
   583   hg: parse error at 4: not a prefix: end
   588   |   (bm) draft
   584   [255]
   589   | o  9:2352021b3785 added x to x
       
   590   | |   () public
       
   591   | o  8:502e73736632 phase-divergent update to b756eb10ea73:
       
   592   | |   () public
       
   593   | o  6:b756eb10ea73 added bar to bar
       
   594   |/    () public
       
   595   o  5:3d62500c673d phase-divergent update to aa071e5554e3:
       
   596   |   () public
       
   597   ~
       
   598 
   585 
   599 Using `hg evolve` to resolve phase-divergence
   586 Using `hg evolve` to resolve phase-divergence
   600 ---------------------------------------------
   587 ---------------------------------------------
   601 
   588 
   602   $ hg evolve --phase-divergent
   589   $ hg evolve --phase-divergent
   685   $ hg amend
   672   $ hg amend
   686 
   673 
   687 Alice making the old changeset public to have content-divergence
   674 Alice making the old changeset public to have content-divergence
   688 
   675 
   689   $ hg phase -r dc88f5aa9bc9 --public --hidden
   676   $ hg phase -r dc88f5aa9bc9 --public --hidden
   690   1 new phase-divergent changesets
       
   691   $ hg glog
   677   $ hg glog
   692   @  14:13015a180eee y to y and foobar to foo
   678   @  14:13015a180eee y to y and foobar to foo
   693   |   () draft
   679   |   () draft
   694   | o  12:dc88f5aa9bc9 y to y and foobar to foo
   680   | o  12:dc88f5aa9bc9 y to y and foobar to foo
   695   | |   () public
   681   | |   () public
   789   x  f3794e5a91dc (17) added l to l
   775   x  f3794e5a91dc (17) added l to l
   790        rewritten(parent) as 2bfd56949cf0 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   776        rewritten(parent) as 2bfd56949cf0 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   791   
   777   
   792 
   778 
   793   $ hg phase -r f3794e5a91dc --public --hidden
   779   $ hg phase -r f3794e5a91dc --public --hidden
   794   1 new phase-divergent changesets
       
   795 
   780 
   796 Resolution using `hg evolve --phase-divergent`
   781 Resolution using `hg evolve --phase-divergent`
   797 ----------------------------------------------
   782 ----------------------------------------------
   798 
   783 
   799   $ hg evolve --phase-divergent
   784   $ hg evolve --phase-divergent
   897   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   882   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   898 
   883 
   899   $ hg evolve --list
   884   $ hg evolve --list
   900 
   885 
   901   $ hg phase -r 428f7900a969 --public --hidden
   886   $ hg phase -r 428f7900a969 --public --hidden
   902   1 new phase-divergent changesets
       
   903 
   887 
   904   $ hg glog -r f3794e5a91dc::
   888   $ hg glog -r f3794e5a91dc::
   905   @  24:390acb97e50a added f
   889   @  24:390acb97e50a added f
   906   |   () draft
   890   |   () draft
   907   | o  23:428f7900a969 added g
   891   | o  23:428f7900a969 added g
   974 
   958 
   975   $ hg prune -r a51bce62c219 --succ 4f25cd9cd2bf --succ e1154ec0206a --split
   959   $ hg prune -r a51bce62c219 --succ 4f25cd9cd2bf --succ e1154ec0206a --split
   976   1 changesets pruned
   960   1 changesets pruned
   977 
   961 
   978   $ hg phase -r a51bce62c219 --hidden --public
   962   $ hg phase -r a51bce62c219 --hidden --public
   979   2 new phase-divergent changesets
       
   980 
   963 
   981   $ hg glog
   964   $ hg glog
   982   @  3:e1154ec0206a added n
   965   @  3:e1154ec0206a added n
   983   |   () draft
   966   |   () draft
   984   *  2:4f25cd9cd2bf added m
   967   o  2:4f25cd9cd2bf added m
   985   |   () draft
   968   |   () draft
   986   | o  1:a51bce62c219 added m and n
   969   | o  1:a51bce62c219 added m and n
   987   |/    () public
   970   |/    () public
   988   o  0:d3873e73d99e init
   971   o  0:d3873e73d99e init
   989       () public
   972       () public
   990 
   973 
   991   $ hg evolve --all --phase-divergent
   974   $ hg evolve --all --phase-divergent
   992   recreate:[2] added m
   975   recreate:[2] added m
   993   atop:[1] added m and n
   976   atop:[1] added m and n
   994   committed as 86419909e017
   977   committed as 86419909e017
   995   1 new orphan changesets
       
   996   recreate:[3] added n
   978   recreate:[3] added n
   997   atop:[1] added m and n
   979   atop:[1] added m and n
   998   rebasing to destination parent: d3873e73d99e
   980   rebasing to destination parent: d3873e73d99e
   999   committed as 89ba615ea1ec
   981   committed as 89ba615ea1ec
  1000   working directory is now at 89ba615ea1ec
   982   working directory is now at 89ba615ea1ec
  1102 
  1084 
  1103   $ hg prune -r 90859808ece6 --succ a47263294745 --succ bb87595f9a77 --split
  1085   $ hg prune -r 90859808ece6 --succ a47263294745 --succ bb87595f9a77 --split
  1104   1 changesets pruned
  1086   1 changesets pruned
  1105 
  1087 
  1106   $ hg phase -r 90859808ece6 --public --hidden
  1088   $ hg phase -r 90859808ece6 --public --hidden
  1107   2 new phase-divergent changesets
       
  1108 
  1089 
  1109   $ hg glog
  1090   $ hg glog
  1110   @  3:bb87595f9a77 added q
  1091   @  3:bb87595f9a77 added q
  1111   |   () draft
  1092   |   () draft
  1112   | *  2:a47263294745 added p
  1093   | o  2:a47263294745 added p
  1113   |/    () draft
  1094   |/    () draft
  1114   | o  1:90859808ece6 added p and q
  1095   | o  1:90859808ece6 added p and q
  1115   |/    () public
  1096   |/    () public
  1116   o  0:d3873e73d99e init
  1097   o  0:d3873e73d99e init
  1117       () public
  1098       () public
  1228 
  1209 
  1229   $ echo n2 > n
  1210   $ echo n2 > n
  1230   $ hg amend
  1211   $ hg amend
  1231 
  1212 
  1232   $ hg phase -r a51bce62c219 --public --hidden
  1213   $ hg phase -r a51bce62c219 --public --hidden
  1233   2 new phase-divergent changesets
       
  1234 
  1214 
  1235   $ hg glog
  1215   $ hg glog
  1236   @  4:52ca78bb98c7 added n
  1216   @  4:52ca78bb98c7 added n
  1237   |   () draft
  1217   |   () draft
  1238   *  2:4f25cd9cd2bf added m
  1218   o  2:4f25cd9cd2bf added m
  1239   |   () draft
  1219   |   () draft
  1240   | o  1:a51bce62c219 added m and n
  1220   | o  1:a51bce62c219 added m and n
  1241   |/    () public
  1221   |/    () public
  1242   o  0:d3873e73d99e init
  1222   o  0:d3873e73d99e init
  1243       () public
  1223       () public
  1251   
  1231   
  1252   $ hg evolve --all --phase-divergent
  1232   $ hg evolve --all --phase-divergent
  1253   recreate:[2] added m
  1233   recreate:[2] added m
  1254   atop:[1] added m and n
  1234   atop:[1] added m and n
  1255   committed as 86419909e017
  1235   committed as 86419909e017
  1256   1 new orphan changesets
       
  1257   recreate:[4] added n
  1236   recreate:[4] added n
  1258   atop:[1] added m and n
  1237   atop:[1] added m and n
  1259   rebasing to destination parent: d3873e73d99e
  1238   rebasing to destination parent: d3873e73d99e
  1260   committed as 88b0dae5369a
  1239   committed as 88b0dae5369a
  1261   working directory is now at 88b0dae5369a
  1240   working directory is now at 88b0dae5369a
  1389 
  1368 
  1390   $ hg prune -r 205b2f5ecb7b --succ .
  1369   $ hg prune -r 205b2f5ecb7b --succ .
  1391   1 changesets pruned
  1370   1 changesets pruned
  1392 
  1371 
  1393   $ hg phase 205b2f5ecb7b --hidden --public
  1372   $ hg phase 205b2f5ecb7b --hidden --public
  1394   1 new phase-divergent changesets
       
  1395 
  1373 
  1396 Resolution of phase-divergent merge commit using `hg evolve`
  1374 Resolution of phase-divergent merge commit using `hg evolve`
  1397 
  1375 
  1398 XXX: we should handle phase-divergent merges
  1376 XXX: we should handle phase-divergent merges
  1399   $ hg evolve --phase-divergent
  1377   $ hg evolve --phase-divergent
  1499   > VIII
  1477   > VIII
  1500   > IX
  1478   > IX
  1501   > EOF
  1479   > EOF
  1502   $ hg commit --amend -m E2
  1480   $ hg commit --amend -m E2
  1503   $ hg --hidden phase --public --rev 'desc(E1)'
  1481   $ hg --hidden phase --public --rev 'desc(E1)'
  1504   1 new phase-divergent changesets
       
  1505   $ hg log -G --patch --hidden --rev 'not desc("root")'
  1482   $ hg log -G --patch --hidden --rev 'not desc("root")'
  1506   @  changeset:   2:599454370881
  1483   @  changeset:   2:599454370881
  1507   |  tag:         tip
  1484   |  tag:         tip
  1508   ~  parent:      0:6d1fdf6de7e2
  1485   ~  parent:      0:6d1fdf6de7e2
  1509      user:        test
  1486      user:        test
  1885 The public predecessors deletes'a', 'b' and 'c',
  1862 The public predecessors deletes'a', 'b' and 'c',
  1886 If was amended to only delete 'a', and 'c'
  1863 If was amended to only delete 'a', and 'c'
  1887 so the fixup should add back 'b'.
  1864 so the fixup should add back 'b'.
  1888 
  1865 
  1889   $ hg phase -p -r dff6e52f5e41 --hidden
  1866   $ hg phase -p -r dff6e52f5e41 --hidden
  1890   1 new phase-divergent changesets
       
  1891   $ hg evolve --phase-divergent
  1867   $ hg evolve --phase-divergent
  1892   recreate:[2] delete a
  1868   recreate:[2] delete a
  1893   atop:[1] delete a
  1869   atop:[1] delete a
  1894   committed as 84aa492b3c37
  1870   committed as 84aa492b3c37
  1895   working directory is now at 84aa492b3c37
  1871   working directory is now at 84aa492b3c37