tests/test-evolve-phase-divergence.t
changeset 3634 a9fed41c6bed
parent 3633 ed3032ee53eb
child 3637 1b9c2720faee
equal deleted inserted replaced
3633:ed3032ee53eb 3634:a9fed41c6bed
   865   --- a/x	Thu Jan 01 00:00:00 1970 +0000
   865   --- a/x	Thu Jan 01 00:00:00 1970 +0000
   866   +++ b/x	Thu Jan 01 00:00:00 1970 +0000
   866   +++ b/x	Thu Jan 01 00:00:00 1970 +0000
   867   @@ -1,1 +1,1 @@
   867   @@ -1,1 +1,1 @@
   868   -x
   868   -x
   869   +foo
   869   +foo
       
   870 
       
   871 Creating phase divergence when couple of changesets are folded into one
       
   872 ------------------------------------------------------------------------
       
   873 
       
   874   $ hg glog -r .
       
   875   @  21:e3090241a10c phase-divergent update to f3794e5a91dc:
       
   876   |   () draft
       
   877   ~
       
   878   $ echo f > f
       
   879   $ hg ci -Aqm "added f"
       
   880   $ echo g > g
       
   881   $ hg ci -Aqm "added g"
       
   882 
       
   883   $ hg fold -r . -r .^ --exact
       
   884   2 changesets folded
       
   885   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   886 
       
   887   $ hg evolve --list
       
   888 
       
   889   $ hg phase -r 428f7900a969 --public --hidden
       
   890   1 new phase-divergent changesets
       
   891 
       
   892   $ hg glog -r f3794e5a91dc::
       
   893   @  24:e450d05b7d27 added g
       
   894   |   () draft
       
   895   | o  23:428f7900a969 added g
       
   896   | |   () public
       
   897   | o  22:21ae52e414e6 added f
       
   898   |/    () public
       
   899   o  21:e3090241a10c phase-divergent update to f3794e5a91dc:
       
   900   |   () public
       
   901   o  17:f3794e5a91dc added l to l
       
   902   |   () public
       
   903   ~
       
   904 
       
   905   $ hg evolve --list
       
   906   e450d05b7d27: added g
       
   907     phase-divergent: 21ae52e414e6 (immutable precursor)
       
   908     phase-divergent: 428f7900a969 (immutable precursor)
       
   909   
       
   910 Resolving phase divergence using `hg evolve`
       
   911 
       
   912   $ hg evolve --phase-divergent --all
       
   913   recreate:[24] added g
       
   914   atop:[23] added g
       
   915   rebasing to destination parent: 21ae52e414e6
       
   916   computing new diff
       
   917   committed as 428f7900a969
       
   918   working directory is now at 428f7900a969
       
   919 
       
   920   $ hg glog -r f3794e5a91dc::
       
   921   @  23:428f7900a969 added g
       
   922   |   () public
       
   923   o  22:21ae52e414e6 added f
       
   924   |   () public
       
   925   o  21:e3090241a10c phase-divergent update to f3794e5a91dc:
       
   926   |   () public
       
   927   o  17:f3794e5a91dc added l to l
       
   928   |   () public
       
   929   ~
       
   930 
       
   931 When the public changesets is splitted causing phase-divergence
       
   932 ---------------------------------------------------------------
       
   933 
       
   934   $ echo m > m
       
   935   $ echo n > n
       
   936   $ hg ci -Aqm "added m and n"
       
   937 
       
   938   $ hg glog -r 21ae52e414e6::
       
   939   @  26:849cee0a874b added m and n
       
   940   |   () draft
       
   941   o  23:428f7900a969 added g
       
   942   |   () public
       
   943   o  22:21ae52e414e6 added f
       
   944   |   () public
       
   945   ~
       
   946 
       
   947   $ hg prev
       
   948   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
   949   [23] added g
       
   950   $ echo m > m
       
   951   $ hg ci -Aqm "added m"
       
   952   $ echo n > n
       
   953   $ hg ci -Aqm "added n"
       
   954 
       
   955   $ hg glog -r 428f7900a969::
       
   956   @  28:63ccb8ea7cae added n
       
   957   |   () draft
       
   958   o  27:f313e2b90e70 added m
       
   959   |   () draft
       
   960   | o  26:849cee0a874b added m and n
       
   961   |/    () draft
       
   962   o  23:428f7900a969 added g
       
   963   |   () public
       
   964   ~
       
   965 
       
   966   $ hg prune -r 849cee0a874b --succ f313e2b90e70 --succ 63ccb8ea7cae --split
       
   967   1 changesets pruned
       
   968 
       
   969   $ hg phase -r 849cee0a874b --hidden --public
       
   970   2 new phase-divergent changesets
       
   971 
       
   972   $ hg glog -r 428f7900a969::
       
   973   @  28:63ccb8ea7cae added n
       
   974   |   () draft
       
   975   *  27:f313e2b90e70 added m
       
   976   |   () draft
       
   977   | o  26:849cee0a874b added m and n
       
   978   |/    () public
       
   979   o  23:428f7900a969 added g
       
   980   |   () public
       
   981   ~
       
   982 
       
   983   $ hg evolve --all --phase-divergent
       
   984   recreate:[27] added m
       
   985   atop:[26] added m and n
       
   986   computing new diff
       
   987   committed as 870e1c3eddc3
       
   988   1 new orphan changesets
       
   989   recreate:[28] added n
       
   990   atop:[26] added m and n
       
   991   rebasing to destination parent: 428f7900a969
       
   992   computing new diff
       
   993   committed as 154b0179fb9b
       
   994   working directory is now at 154b0179fb9b
       
   995 
       
   996 XXX: this is messy, we should solve things in better way
       
   997   $ hg glog -r 428f7900a969:: --hidden
       
   998   @  31:154b0179fb9b phase-divergent update to 849cee0a874b:
       
   999   |   () draft
       
  1000   | x  30:1ebf33547a82 added n
       
  1001   | |   () draft
       
  1002   +---o  29:870e1c3eddc3 phase-divergent update to 849cee0a874b:
       
  1003   | |     () draft
       
  1004   | | x  28:63ccb8ea7cae added n
       
  1005   | | |   () draft
       
  1006   | | x  27:f313e2b90e70 added m
       
  1007   | |/    () draft
       
  1008   o |  26:849cee0a874b added m and n
       
  1009   |/    () public
       
  1010   o  23:428f7900a969 added g
       
  1011   |   () public
       
  1012   ~
       
  1013 
       
  1014 XXX: not sure this is the correct
       
  1015   $ hg exp 154b0179fb9b
       
  1016   # HG changeset patch
       
  1017   # User test
       
  1018   # Date 0 0
       
  1019   #      Thu Jan 01 00:00:00 1970 +0000
       
  1020   # Node ID 154b0179fb9b53d2f853d6ba04740bb3d7a5cabe
       
  1021   # Parent  849cee0a874be7c4e75dfacb5ad72aa5696951ba
       
  1022   phase-divergent update to 849cee0a874b:
       
  1023   
       
  1024   added n
       
  1025   
       
  1026   diff -r 849cee0a874b -r 154b0179fb9b m
       
  1027   --- a/m	Thu Jan 01 00:00:00 1970 +0000
       
  1028   +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
  1029   @@ -1,1 +0,0 @@
       
  1030   -m
       
  1031 
       
  1032 XXX: not sure this is correct
       
  1033   $ hg exp 870e1c3eddc3
       
  1034   # HG changeset patch
       
  1035   # User test
       
  1036   # Date 0 0
       
  1037   #      Thu Jan 01 00:00:00 1970 +0000
       
  1038   # Node ID 870e1c3eddc34cc475e8e13d2fe1934210c1937e
       
  1039   # Parent  849cee0a874be7c4e75dfacb5ad72aa5696951ba
       
  1040   phase-divergent update to 849cee0a874b:
       
  1041   
       
  1042   added m
       
  1043   
       
  1044   diff -r 849cee0a874b -r 870e1c3eddc3 n
       
  1045   --- a/n	Thu Jan 01 00:00:00 1970 +0000
       
  1046   +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
  1047   @@ -1,1 +0,0 @@
       
  1048   -n
       
  1049 
       
  1050 When the public changeset is splitted across various branches
       
  1051 --------------------------------------------------------------
       
  1052 
       
  1053   $ echo p > p
       
  1054   $ echo q > q
       
  1055   $ hg ci -Aqm "added p and q"
       
  1056 
       
  1057   $ hg prev
       
  1058   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
  1059   [31] phase-divergent update to 849cee0a874b:
       
  1060   $ echo p > p
       
  1061   $ hg ci -Aqm "added p"
       
  1062   $ hg prev
       
  1063   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
  1064   [31] phase-divergent update to 849cee0a874b:
       
  1065   $ echo q > q
       
  1066   $ hg ci -Aqm "added q"
       
  1067 
       
  1068   $ hg glog -r 154b0179fb9b::
       
  1069   @  34:e046341aa97c added q
       
  1070   |   () draft
       
  1071   | o  33:6f8c250eecff added p
       
  1072   |/    () draft
       
  1073   | o  32:8a70f55b2af3 added p and q
       
  1074   |/    () draft
       
  1075   o  31:154b0179fb9b phase-divergent update to 849cee0a874b:
       
  1076   |   () draft
       
  1077   ~
       
  1078 
       
  1079   $ hg prune -r 8a70f55b2af3 --succ 6f8c250eecff --succ e046341aa97c --split
       
  1080   1 changesets pruned
       
  1081 
       
  1082   $ hg phase -r 8a70f55b2af3 --public --hidden
       
  1083   2 new phase-divergent changesets
       
  1084 
       
  1085   $ hg glog -r 154b0179fb9b::
       
  1086   @  34:e046341aa97c added q
       
  1087   |   () draft
       
  1088   | *  33:6f8c250eecff added p
       
  1089   |/    () draft
       
  1090   | o  32:8a70f55b2af3 added p and q
       
  1091   |/    () public
       
  1092   o  31:154b0179fb9b phase-divergent update to 849cee0a874b:
       
  1093   |   () public
       
  1094   ~
       
  1095 
       
  1096   $ hg evolve --list
       
  1097   6f8c250eecff: added p
       
  1098     phase-divergent: 8a70f55b2af3 (immutable precursor)
       
  1099   
       
  1100   e046341aa97c: added q
       
  1101     phase-divergent: 8a70f55b2af3 (immutable precursor)
       
  1102   
       
  1103   $ hg evolve --all --phase-divergent
       
  1104   recreate:[33] added p
       
  1105   atop:[32] added p and q
       
  1106   computing new diff
       
  1107   committed as f3e41d89b3c5
       
  1108   recreate:[34] added q
       
  1109   atop:[32] added p and q
       
  1110   computing new diff
       
  1111   committed as 605c306d4f87
       
  1112   working directory is now at 605c306d4f87
       
  1113 
       
  1114   $ hg glog -r 154b0179fb9b:: --hidden
       
  1115   @  36:605c306d4f87 phase-divergent update to 8a70f55b2af3:
       
  1116   |   () draft
       
  1117   | o  35:f3e41d89b3c5 phase-divergent update to 8a70f55b2af3:
       
  1118   |/    () draft
       
  1119   | x  34:e046341aa97c added q
       
  1120   | |   () draft
       
  1121   | | x  33:6f8c250eecff added p
       
  1122   | |/    () draft
       
  1123   o |  32:8a70f55b2af3 added p and q
       
  1124   |/    () public
       
  1125   o  31:154b0179fb9b phase-divergent update to 849cee0a874b:
       
  1126   |   () public
       
  1127   ~
       
  1128 
       
  1129 XXX: not sure this is correct
       
  1130   $ hg exp 605c306d4f87
       
  1131   # HG changeset patch
       
  1132   # User test
       
  1133   # Date 0 0
       
  1134   #      Thu Jan 01 00:00:00 1970 +0000
       
  1135   # Node ID 605c306d4f87fccfdb5e7dd1c750b6d4f813defb
       
  1136   # Parent  8a70f55b2af35452916dc89401a5ecf6553646a5
       
  1137   phase-divergent update to 8a70f55b2af3:
       
  1138   
       
  1139   added q
       
  1140   
       
  1141   diff -r 8a70f55b2af3 -r 605c306d4f87 p
       
  1142   --- a/p	Thu Jan 01 00:00:00 1970 +0000
       
  1143   +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
  1144   @@ -1,1 +0,0 @@
       
  1145   -p
       
  1146 
       
  1147 XXX: not sure this is correct
       
  1148   $ hg exp f3e41d89b3c5
       
  1149   # HG changeset patch
       
  1150   # User test
       
  1151   # Date 0 0
       
  1152   #      Thu Jan 01 00:00:00 1970 +0000
       
  1153   # Node ID f3e41d89b3c5f6ee49ccc734045856d7b025f048
       
  1154   # Parent  8a70f55b2af35452916dc89401a5ecf6553646a5
       
  1155   phase-divergent update to 8a70f55b2af3:
       
  1156   
       
  1157   added p
       
  1158   
       
  1159   diff -r 8a70f55b2af3 -r f3e41d89b3c5 q
       
  1160   --- a/q	Thu Jan 01 00:00:00 1970 +0000
       
  1161   +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
  1162   @@ -1,1 +0,0 @@
       
  1163   -q