tests/test-evolve-phase-divergence.t
branchmercurial-4.4
changeset 4675 79bc0f1a832e
parent 4553 aafd51f145ea
parent 4673 3ef4980353af
equal deleted inserted replaced
4674:3810ca63398f 4675:79bc0f1a832e
   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 --update
   589   $ hg evolve --phase-divergent --update
   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 --update
   784   $ hg evolve --phase-divergent --update
   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
  1101 
  1084 
  1102   $ hg prune -r 90859808ece6 --succ a47263294745 --succ bb87595f9a77 --split
  1085   $ hg prune -r 90859808ece6 --succ a47263294745 --succ bb87595f9a77 --split
  1103   1 changesets pruned
  1086   1 changesets pruned
  1104 
  1087 
  1105   $ hg phase -r 90859808ece6 --public --hidden
  1088   $ hg phase -r 90859808ece6 --public --hidden
  1106   2 new phase-divergent changesets
       
  1107 
  1089 
  1108   $ hg glog
  1090   $ hg glog
  1109   @  3:bb87595f9a77 added q
  1091   @  3:bb87595f9a77 added q
  1110   |   () draft
  1092   |   () draft
  1111   | *  2:a47263294745 added p
  1093   | o  2:a47263294745 added p
  1112   |/    () draft
  1094   |/    () draft
  1113   | o  1:90859808ece6 added p and q
  1095   | o  1:90859808ece6 added p and q
  1114   |/    () public
  1096   |/    () public
  1115   o  0:d3873e73d99e init
  1097   o  0:d3873e73d99e init
  1116       () public
  1098       () public
  1227 
  1209 
  1228   $ echo n2 > n
  1210   $ echo n2 > n
  1229   $ hg amend
  1211   $ hg amend
  1230 
  1212 
  1231   $ hg phase -r a51bce62c219 --public --hidden
  1213   $ hg phase -r a51bce62c219 --public --hidden
  1232   2 new phase-divergent changesets
       
  1233 
  1214 
  1234   $ hg glog
  1215   $ hg glog
  1235   @  4:52ca78bb98c7 added n
  1216   @  4:52ca78bb98c7 added n
  1236   |   () draft
  1217   |   () draft
  1237   *  2:4f25cd9cd2bf added m
  1218   o  2:4f25cd9cd2bf added m
  1238   |   () draft
  1219   |   () draft
  1239   | o  1:a51bce62c219 added m and n
  1220   | o  1:a51bce62c219 added m and n
  1240   |/    () public
  1221   |/    () public
  1241   o  0:d3873e73d99e init
  1222   o  0:d3873e73d99e init
  1242       () public
  1223       () public
  1387 
  1368 
  1388   $ hg prune -r 205b2f5ecb7b --succ .
  1369   $ hg prune -r 205b2f5ecb7b --succ .
  1389   1 changesets pruned
  1370   1 changesets pruned
  1390 
  1371 
  1391   $ hg phase 205b2f5ecb7b --hidden --public
  1372   $ hg phase 205b2f5ecb7b --hidden --public
  1392   1 new phase-divergent changesets
       
  1393 
  1373 
  1394 Resolution of phase-divergent merge commit using `hg evolve`
  1374 Resolution of phase-divergent merge commit using `hg evolve`
  1395 
  1375 
  1396 XXX: we should handle phase-divergent merges
  1376 XXX: we should handle phase-divergent merges
  1397   $ hg evolve --phase-divergent
  1377   $ hg evolve --phase-divergent
  1497   > VIII
  1477   > VIII
  1498   > IX
  1478   > IX
  1499   > EOF
  1479   > EOF
  1500   $ hg commit --amend -m E2
  1480   $ hg commit --amend -m E2
  1501   $ hg --hidden phase --public --rev 'desc(E1)'
  1481   $ hg --hidden phase --public --rev 'desc(E1)'
  1502   1 new phase-divergent changesets
       
  1503   $ hg log -G --patch --hidden --rev 'not desc("root")'
  1482   $ hg log -G --patch --hidden --rev 'not desc("root")'
  1504   @  changeset:   2:599454370881
  1483   @  changeset:   2:599454370881
  1505   |  tag:         tip
  1484   |  tag:         tip
  1506   ~  parent:      0:6d1fdf6de7e2
  1485   ~  parent:      0:6d1fdf6de7e2
  1507      user:        test
  1486      user:        test
  1883 The public predecessors deletes'a', 'b' and 'c',
  1862 The public predecessors deletes'a', 'b' and 'c',
  1884 If was amended to only delete 'a', and 'c'
  1863 If was amended to only delete 'a', and 'c'
  1885 so the fixup should add back 'b'.
  1864 so the fixup should add back 'b'.
  1886 
  1865 
  1887   $ hg phase -p -r dff6e52f5e41 --hidden
  1866   $ hg phase -p -r dff6e52f5e41 --hidden
  1888   1 new phase-divergent changesets
       
  1889   $ hg evolve --phase-divergent
  1867   $ hg evolve --phase-divergent
  1890   recreate:[2] delete a
  1868   recreate:[2] delete a
  1891   atop:[1] delete a
  1869   atop:[1] delete a
  1892   committed as 84aa492b3c37
  1870   committed as 84aa492b3c37
  1893   working directory is now at 84aa492b3c37
  1871   working directory is now at 84aa492b3c37