tests/test-evolve-content-divergence.t
changeset 3846 f9dad99a90d5
parent 3845 5c964ebe4d4b
child 3849 a17d4934c5ce
equal deleted inserted replaced
3845:5c964ebe4d4b 3846:f9dad99a90d5
    71   base: [4] added d
    71   base: [4] added d
    72   merging "other" content-divergent changeset '9e5dffcb3d48'
    72   merging "other" content-divergent changeset '9e5dffcb3d48'
    73   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
    73   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
    74   content divergent changesets on different branches.
    74   content divergent changesets on different branches.
    75   choose branch for the resolution changeset. (a) default or (b) watwat or (c) foobar?  c
    75   choose branch for the resolution changeset. (a) default or (b) watwat or (c) foobar?  c
    76   working directory is now at 23a4467c278e
    76   working directory is now at 0ac42f1bc15c
    77 
    77 
    78   $ hg glog
    78   $ hg glog
    79   @  7:23a4467c278e added d
    79   @  7:0ac42f1bc15c added d
    80   |   () [foobar] draft
    80   |   () [foobar] draft
    81   o  3:ca1b80f7960a added c
    81   o  3:ca1b80f7960a added c
    82   |   () [default] draft
    82   |   () [default] draft
    83   o  2:b1661037fa25 added b
    83   o  2:b1661037fa25 added b
    84   |   () [default] draft
    84   |   () [default] draft
   100   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   100   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   101 
   101 
   102   $ echo bar > d
   102   $ echo bar > d
   103   $ hg ci -Aqm "added a d with bar in it, expect some beers"
   103   $ hg ci -Aqm "added a d with bar in it, expect some beers"
   104 
   104 
   105   $ hg prune -r 23a4467c278e -s . --hidden
   105   $ hg prune -r 0ac42f1bc15c -s . --hidden
   106   1 changesets pruned
   106   1 changesets pruned
   107   2 new content-divergent changesets
   107   2 new content-divergent changesets
   108 
   108 
   109   $ hg glog
   109   $ hg glog
   110   @  9:59081c9c425a added a d with bar in it, expect some beers
   110   @  9:59081c9c425a added a d with bar in it, expect some beers
   111   |   () [default] draft
   111   |   () [default] draft
   112   | *  8:36618f77f252 added d
   112   | *  8:f621d00f5f0e added d
   113   |/    () [foobar] draft
   113   |/    () [foobar] draft
   114   o  3:ca1b80f7960a added c
   114   o  3:ca1b80f7960a added c
   115   |   () [default] draft
   115   |   () [default] draft
   116   o  2:b1661037fa25 added b
   116   o  2:b1661037fa25 added b
   117   |   () [default] draft
   117   |   () [default] draft
   122 
   122 
   123   $ hg evolve --content-divergent
   123   $ hg evolve --content-divergent
   124   merge:[9] added a d with bar in it, expect some beers
   124   merge:[9] added a d with bar in it, expect some beers
   125   with: [8] added d
   125   with: [8] added d
   126   base: [7] added d
   126   base: [7] added d
   127   merging "other" content-divergent changeset '36618f77f252'
   127   merging "other" content-divergent changeset 'f621d00f5f0e'
   128   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   128   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   129   working directory is now at ca80aeaf4ee8
   129   working directory is now at a9d6fd6b5e40
   130 
   130 
   131   $ hg glog
   131   $ hg glog
   132   @  10:ca80aeaf4ee8 added a d with bar in it, expect some beers
   132   @  10:a9d6fd6b5e40 added a d with bar in it, expect some beers
   133   |   () [default] draft
   133   |   () [default] draft
   134   o  3:ca1b80f7960a added c
   134   o  3:ca1b80f7960a added c
   135   |   () [default] draft
   135   |   () [default] draft
   136   o  2:b1661037fa25 added b
   136   o  2:b1661037fa25 added b
   137   |   () [default] draft
   137   |   () [default] draft
   143 When base has different message and both divergents has same one
   143 When base has different message and both divergents has same one
   144 
   144 
   145   $ echo foo > d
   145   $ echo foo > d
   146   $ hg amend -m "foo to d"
   146   $ hg amend -m "foo to d"
   147 
   147 
   148   $ hg up ca80aeaf4ee8 --hidden
   148   $ hg up a9d6fd6b5e40 --hidden
   149   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   149   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   150   updated to hidden changeset ca80aeaf4ee8
   150   updated to hidden changeset a9d6fd6b5e40
   151   (hidden revision 'ca80aeaf4ee8' was rewritten as: eba0b02801cb)
   151   (hidden revision 'a9d6fd6b5e40' was rewritten as: b10b07a394f1)
   152   working directory parent is obsolete! (ca80aeaf4ee8)
   152   working directory parent is obsolete! (a9d6fd6b5e40)
   153   (use 'hg evolve' to update to its successor: eba0b02801cb)
   153   (use 'hg evolve' to update to its successor: b10b07a394f1)
   154   $ echo babar > d
   154   $ echo babar > d
   155   $ hg amend -m "foo to d"
   155   $ hg amend -m "foo to d"
   156   2 new content-divergent changesets
   156   2 new content-divergent changesets
   157 
   157 
   158   $ hg glog
   158   $ hg glog
   159   @  12:0116315a1a4a foo to d
   159   @  12:0bb497fed24a foo to d
   160   |   () [default] draft
   160   |   () [default] draft
   161   | *  11:eba0b02801cb foo to d
   161   | *  11:b10b07a394f1 foo to d
   162   |/    () [default] draft
   162   |/    () [default] draft
   163   o  3:ca1b80f7960a added c
   163   o  3:ca1b80f7960a added c
   164   |   () [default] draft
   164   |   () [default] draft
   165   o  2:b1661037fa25 added b
   165   o  2:b1661037fa25 added b
   166   |   () [default] draft
   166   |   () [default] draft
   171 
   171 
   172   $ hg evolve --content-divergent
   172   $ hg evolve --content-divergent
   173   merge:[12] foo to d
   173   merge:[12] foo to d
   174   with: [11] foo to d
   174   with: [11] foo to d
   175   base: [10] added a d with bar in it, expect some beers
   175   base: [10] added a d with bar in it, expect some beers
   176   merging "other" content-divergent changeset 'eba0b02801cb'
   176   merging "other" content-divergent changeset 'b10b07a394f1'
   177   merging d
   177   merging d
   178   warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
   178   warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
   179   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   179   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   180   abort: fix conflicts and see `hg help evolve.interrupted`
   180   abort: fix conflicts and see `hg help evolve.interrupted`
   181   [255]
   181   [255]
   183   $ echo foobar > d
   183   $ echo foobar > d
   184   $ hg resolve -m
   184   $ hg resolve -m
   185   (no more unresolved files)
   185   (no more unresolved files)
   186   continue: hg evolve --continue
   186   continue: hg evolve --continue
   187   $ hg evolve --continue
   187   $ hg evolve --continue
   188   working directory is now at 3e0a8df515d6
   188   working directory is now at 11175423b5dc
   189 
   189 
   190   $ hg glog
   190   $ hg glog
   191   @  13:3e0a8df515d6 foo to d
   191   @  13:11175423b5dc foo to d
   192   |   () [default] draft
   192   |   () [default] draft
   193   o  3:ca1b80f7960a added c
   193   o  3:ca1b80f7960a added c
   194   |   () [default] draft
   194   |   () [default] draft
   195   o  2:b1661037fa25 added b
   195   o  2:b1661037fa25 added b
   196   |   () [default] draft
   196   |   () [default] draft
   203 conflicts
   203 conflicts
   204 
   204 
   205   $ echo bar > d
   205   $ echo bar > d
   206   $ hg amend -m "bar to d, expect beers"
   206   $ hg amend -m "bar to d, expect beers"
   207 
   207 
   208   $ hg up 3e0a8df515d6 --hidden
   208   $ hg up 11175423b5dc --hidden
   209   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   209   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   210   updated to hidden changeset 3e0a8df515d6
   210   updated to hidden changeset 11175423b5dc
   211   (hidden revision '3e0a8df515d6' was rewritten as: 9ad4721c9004)
   211   (hidden revision '11175423b5dc' was rewritten as: 27f0463f169a)
   212   working directory parent is obsolete! (3e0a8df515d6)
   212   working directory parent is obsolete! (11175423b5dc)
   213   (use 'hg evolve' to update to its successor: 9ad4721c9004)
   213   (use 'hg evolve' to update to its successor: 27f0463f169a)
   214   $ echo wat > d
   214   $ echo wat > d
   215   $ hg amend -m "wat to d, wat?"
   215   $ hg amend -m "wat to d, wat?"
   216   2 new content-divergent changesets
   216   2 new content-divergent changesets
   217 
   217 
   218   $ hg glog
   218   $ hg glog
   219   @  15:1e834b60df1b wat to d, wat?
   219   @  15:f542037ddf31 wat to d, wat?
   220   |   () [default] draft
   220   |   () [default] draft
   221   | *  14:9ad4721c9004 bar to d, expect beers
   221   | *  14:27f0463f169a bar to d, expect beers
   222   |/    () [default] draft
   222   |/    () [default] draft
   223   o  3:ca1b80f7960a added c
   223   o  3:ca1b80f7960a added c
   224   |   () [default] draft
   224   |   () [default] draft
   225   o  2:b1661037fa25 added b
   225   o  2:b1661037fa25 added b
   226   |   () [default] draft
   226   |   () [default] draft
   231 
   231 
   232   $ hg evolve --content-divergent
   232   $ hg evolve --content-divergent
   233   merge:[15] wat to d, wat?
   233   merge:[15] wat to d, wat?
   234   with: [14] bar to d, expect beers
   234   with: [14] bar to d, expect beers
   235   base: [13] foo to d
   235   base: [13] foo to d
   236   merging "other" content-divergent changeset '9ad4721c9004'
   236   merging "other" content-divergent changeset '27f0463f169a'
   237   merging d
   237   merging d
   238   warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
   238   warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
   239   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   239   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   240   abort: fix conflicts and see `hg help evolve.interrupted`
   240   abort: fix conflicts and see `hg help evolve.interrupted`
   241   [255]
   241   [255]
   266   foo to d=======
   266   foo to d=======
   267   bar to d, expect beers>>>>>>> other
   267   bar to d, expect beers>>>>>>> other
   268   
   268   
   269   **done showing editors text**
   269   **done showing editors text**
   270   
   270   
   271   working directory is now at 00f8d08aea43
   271   working directory is now at 89ea3eee2d69
   272 
   272 
   273   $ hg glog
   273   $ hg glog
   274   @  16:00f8d08aea43 watbar to d
   274   @  16:89ea3eee2d69 watbar to d
   275   |   () [default] draft
   275   |   () [default] draft
   276   o  3:ca1b80f7960a added c
   276   o  3:ca1b80f7960a added c
   277   |   () [default] draft
   277   |   () [default] draft
   278   o  2:b1661037fa25 added b
   278   o  2:b1661037fa25 added b
   279   |   () [default] draft
   279   |   () [default] draft
   339   base: [2] added b
   339   base: [2] added b
   340   rebasing "other" content-divergent changeset da4b96f4a8d6 on c7586e2a9264
   340   rebasing "other" content-divergent changeset da4b96f4a8d6 on c7586e2a9264
   341   updating to "local" side of the conflict: 7ed0642d644b
   341   updating to "local" side of the conflict: 7ed0642d644b
   342   merging "other" content-divergent changeset '11f849d7159f'
   342   merging "other" content-divergent changeset '11f849d7159f'
   343   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   343   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   344   nothing changed
   344   working directory is now at 171614c9a791
   345 
   345 
   346   $ hg glog
   346   $ hg glog
   347   @  5:7ed0642d644b added b
   347   @  8:171614c9a791 added b
   348   |   () [default] draft
   348   |   () [default] draft
   349   | *  4:c41c793e0ef1 added d
   349   | *  4:c41c793e0ef1 added d
   350   | |   () [default] draft
   350   | |   () [default] draft
   351   | *  3:ca1b80f7960a added c
   351   | *  3:ca1b80f7960a added c
   352   | |   () [default] draft
   352   | |   () [default] draft
   360   $ hg exp
   360   $ hg exp
   361   # HG changeset patch
   361   # HG changeset patch
   362   # User test
   362   # User test
   363   # Date 0 0
   363   # Date 0 0
   364   #      Thu Jan 01 00:00:00 1970 +0000
   364   #      Thu Jan 01 00:00:00 1970 +0000
   365   # Node ID 7ed0642d644bb9ad93d252dd9ffe7b4729febe48
   365   # Node ID 171614c9a7914c53f531373b95632323fdbbac8d
   366   # Parent  c7586e2a92645e473645847a7b69a6dc52be4276
   366   # Parent  c7586e2a92645e473645847a7b69a6dc52be4276
   367   added b
   367   added b
   368   
   368   
   369   diff -r c7586e2a9264 -r 7ed0642d644b b
   369   diff -r c7586e2a9264 -r 171614c9a791 b
   370   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   370   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   371   +++ b/b	Thu Jan 01 00:00:00 1970 +0000
   371   +++ b/b	Thu Jan 01 00:00:00 1970 +0000
   372   @@ -0,0 +1,1 @@
   372   @@ -0,0 +1,1 @@
   373   +bar
   373   +bar
   374 
   374 
   375 Resolving orphans to get back to a normal graph
   375 Resolving orphans to get back to a normal graph
   376 
   376 
   377   $ hg evolve --all
   377   $ hg evolve --all
   378   move:[3] added c
   378   move:[3] added c
   379   atop:[5] added b
   379   atop:[8] added b
   380   move:[4] added d
   380   move:[4] added d
   381   atop:[8] added c
   381   atop:[9] added c
   382   working directory is now at b6b20b8eefdc
   382   working directory is now at 4ae4427ee9f8
   383   $ hg glog
   383   $ hg glog
   384   @  9:b6b20b8eefdc added d
   384   @  10:4ae4427ee9f8 added d
   385   |   () [default] draft
   385   |   () [default] draft
   386   o  8:7c46f743e62f added c
   386   o  9:917281f93fcb added c
   387   |   () [default] draft
   387   |   () [default] draft
   388   o  5:7ed0642d644b added b
   388   o  8:171614c9a791 added b
   389   |   () [default] draft
   389   |   () [default] draft
   390   o  1:c7586e2a9264 added a
   390   o  1:c7586e2a9264 added a
   391   |   () [default] draft
   391   |   () [default] draft
   392   o  0:8fa14d15e168 added hgignore
   392   o  0:8fa14d15e168 added hgignore
   393       () [default] draft
   393       () [default] draft
   397   $ hg up .^^
   397   $ hg up .^^
   398   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   398   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   399   $ echo x > x
   399   $ echo x > x
   400   $ hg ci -Aqm "added x"
   400   $ hg ci -Aqm "added x"
   401   $ hg glog -r .
   401   $ hg glog -r .
   402   @  10:cfae5f87cd34 added x
   402   @  11:71a392c714b5 added x
   403   |   () [default] draft
   403   |   () [default] draft
   404   ~
   404   ~
   405 
   405 
   406   $ echo foo > x
   406   $ echo foo > x
   407   $ hg branch bar
   407   $ hg branch bar
   408   marked working directory as branch bar
   408   marked working directory as branch bar
   409   (branches are permanent and global, did you want a bookmark?)
   409   (branches are permanent and global, did you want a bookmark?)
   410   $ hg amend -m "added foo to x"
   410   $ hg amend -m "added foo to x"
   411 
   411 
   412   $ hg up cfae5f87cd34 --hidden
   412   $ hg up 71a392c714b5 --hidden
   413   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   413   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   414   updated to hidden changeset cfae5f87cd34
   414   updated to hidden changeset 71a392c714b5
   415   (hidden revision 'cfae5f87cd34' was rewritten as: 580d9d182d90)
   415   (hidden revision '71a392c714b5' was rewritten as: 1e1a50385a7d)
   416   working directory parent is obsolete! (cfae5f87cd34)
   416   working directory parent is obsolete! (71a392c714b5)
   417   (use 'hg evolve' to update to its successor: 580d9d182d90)
   417   (use 'hg evolve' to update to its successor: 1e1a50385a7d)
   418   $ hg rebase -r . -d b6b20b8eefdc --config experimental.evolution.allowdivergence=True
   418   $ hg rebase -r . -d 4ae4427ee9f8 --config experimental.evolution.allowdivergence=True
   419   rebasing 10:cfae5f87cd34 "added x"
   419   rebasing 11:71a392c714b5 "added x"
   420   2 new content-divergent changesets
   420   2 new content-divergent changesets
   421 
   421 
   422   $ hg glog
   422   $ hg glog
   423   @  12:c4d1990428e3 added x
   423   @  13:1e4f6b3bb39b added x
   424   |   () [default] draft
   424   |   () [default] draft
   425   | *  11:580d9d182d90 added foo to x
   425   | *  12:1e1a50385a7d added foo to x
   426   | |   () [bar] draft
   426   | |   () [bar] draft
   427   o |  9:b6b20b8eefdc added d
   427   o |  10:4ae4427ee9f8 added d
   428   | |   () [default] draft
   428   | |   () [default] draft
   429   o |  8:7c46f743e62f added c
   429   o |  9:917281f93fcb added c
   430   |/    () [default] draft
   430   |/    () [default] draft
   431   o  5:7ed0642d644b added b
   431   o  8:171614c9a791 added b
   432   |   () [default] draft
   432   |   () [default] draft
   433   o  1:c7586e2a9264 added a
   433   o  1:c7586e2a9264 added a
   434   |   () [default] draft
   434   |   () [default] draft
   435   o  0:8fa14d15e168 added hgignore
   435   o  0:8fa14d15e168 added hgignore
   436       () [default] draft
   436       () [default] draft
   437 
   437 
   438   $ hg evolve --content-divergent
   438   $ hg evolve --content-divergent
   439   merge:[12] added x
   439   merge:[13] added x
   440   with: [11] added foo to x
   440   with: [12] added foo to x
   441   base: [10] added x
   441   base: [11] added x
   442   rebasing "other" content-divergent changeset 580d9d182d90 on b6b20b8eefdc
   442   rebasing "other" content-divergent changeset 1e1a50385a7d on 4ae4427ee9f8
   443   updating to "local" side of the conflict: c4d1990428e3
   443   updating to "local" side of the conflict: 1e4f6b3bb39b
   444   merging "other" content-divergent changeset 'd3bfc0b3f350'
   444   merging "other" content-divergent changeset '80cc9b1ec650'
   445   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   445   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   446   working directory is now at be41fdcd0ee1
   446   working directory is now at b006cf317e0e
   447 
   447 
   448   $ hg exp
   448   $ hg exp
   449   # HG changeset patch
   449   # HG changeset patch
   450   # User test
   450   # User test
   451   # Date 0 0
   451   # Date 0 0
   452   #      Thu Jan 01 00:00:00 1970 +0000
   452   #      Thu Jan 01 00:00:00 1970 +0000
   453   # Branch bar
   453   # Branch bar
   454   # Node ID be41fdcd0ee181081c4e42c6ee333d3dc3b3ab45
   454   # Node ID b006cf317e0ed16dbe786c439577475580f645f1
   455   # Parent  b6b20b8eefdce1f32126c71d20bdb72a62b38268
   455   # Parent  4ae4427ee9f8f0935211fd66360948b77ab5aee9
   456   added foo to x
   456   added foo to x
   457   
   457   
   458   diff -r b6b20b8eefdc -r be41fdcd0ee1 x
   458   diff -r 4ae4427ee9f8 -r b006cf317e0e x
   459   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   459   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   460   +++ b/x	Thu Jan 01 00:00:00 1970 +0000
   460   +++ b/x	Thu Jan 01 00:00:00 1970 +0000
   461   @@ -0,0 +1,1 @@
   461   @@ -0,0 +1,1 @@
   462   +foo
   462   +foo
   463 
   463 
   464 The above `hg exp` and the following log call demonstrates that message, content
   464 The above `hg exp` and the following log call demonstrates that message, content
   465 and branch change is preserved in case of relocation
   465 and branch change is preserved in case of relocation
   466   $ hg glog
   466   $ hg glog
   467   @  14:be41fdcd0ee1 added foo to x
   467   @  15:b006cf317e0e added foo to x
   468   |   () [bar] draft
   468   |   () [bar] draft
   469   o  9:b6b20b8eefdc added d
   469   o  10:4ae4427ee9f8 added d
   470   |   () [default] draft
   470   |   () [default] draft
   471   o  8:7c46f743e62f added c
   471   o  9:917281f93fcb added c
   472   |   () [default] draft
   472   |   () [default] draft
   473   o  5:7ed0642d644b added b
   473   o  8:171614c9a791 added b
   474   |   () [default] draft
   474   |   () [default] draft
   475   o  1:c7586e2a9264 added a
   475   o  1:c7586e2a9264 added a
   476   |   () [default] draft
   476   |   () [default] draft
   477   o  0:8fa14d15e168 added hgignore
   477   o  0:8fa14d15e168 added hgignore
   478       () [default] draft
   478       () [default] draft
   485   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
   485   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
   486 
   486 
   487   $ echo y > y
   487   $ echo y > y
   488   $ hg ci -Aqm "added y"
   488   $ hg ci -Aqm "added y"
   489   $ hg glog -r .
   489   $ hg glog -r .
   490   @  15:9c30046901ab added y
   490   @  16:fc6ad2bac162 added y
   491   |   () [default] draft
   491   |   () [default] draft
   492   ~
   492   ~
   493 
   493 
   494   $ echo bar > y
   494   $ echo bar > y
   495   $ hg amend
   495   $ hg amend
   496 
   496 
   497   $ hg up 9c30046901ab --hidden
   497   $ hg up fc6ad2bac162 --hidden
   498   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   498   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   499   updated to hidden changeset 9c30046901ab
   499   updated to hidden changeset fc6ad2bac162
   500   (hidden revision '9c30046901ab' was rewritten as: 29e08829c51f)
   500   (hidden revision 'fc6ad2bac162' was rewritten as: 2a9f6ccbdeba)
   501   working directory parent is obsolete! (9c30046901ab)
   501   working directory parent is obsolete! (fc6ad2bac162)
   502   (use 'hg evolve' to update to its successor: 29e08829c51f)
   502   (use 'hg evolve' to update to its successor: 2a9f6ccbdeba)
   503   $ hg rebase -r . -d be41fdcd0ee1 --config experimental.evolution.allowdivergence=True
   503   $ hg rebase -r . -d b006cf317e0e --config experimental.evolution.allowdivergence=True
   504   rebasing 15:9c30046901ab "added y"
   504   rebasing 16:fc6ad2bac162 "added y"
   505   2 new content-divergent changesets
   505   2 new content-divergent changesets
   506   $ echo wat > y
   506   $ echo wat > y
   507   $ hg amend
   507   $ hg amend
   508 
   508 
   509   $ hg glog
   509   $ hg glog
   510   @  18:4065e1d314c3 added y
   510   @  19:b4575ed6fcfc added y
   511   |   () [bar] draft
   511   |   () [bar] draft
   512   | *  16:29e08829c51f added y
   512   | *  17:2a9f6ccbdeba added y
   513   | |   () [default] draft
   513   | |   () [default] draft
   514   o |  14:be41fdcd0ee1 added foo to x
   514   o |  15:b006cf317e0e added foo to x
   515   | |   () [bar] draft
   515   | |   () [bar] draft
   516   o |  9:b6b20b8eefdc added d
   516   o |  10:4ae4427ee9f8 added d
   517   | |   () [default] draft
   517   | |   () [default] draft
   518   o |  8:7c46f743e62f added c
   518   o |  9:917281f93fcb added c
   519   |/    () [default] draft
   519   |/    () [default] draft
   520   o  5:7ed0642d644b added b
   520   o  8:171614c9a791 added b
   521   |   () [default] draft
   521   |   () [default] draft
   522   o  1:c7586e2a9264 added a
   522   o  1:c7586e2a9264 added a
   523   |   () [default] draft
   523   |   () [default] draft
   524   o  0:8fa14d15e168 added hgignore
   524   o  0:8fa14d15e168 added hgignore
   525       () [default] draft
   525       () [default] draft
   526 
   526 
   527   $ hg evolve --content-divergent
   527   $ hg evolve --content-divergent
   528   merge:[18] added y
   528   merge:[19] added y
   529   with: [16] added y
   529   with: [17] added y
   530   base: [15] added y
   530   base: [16] added y
   531   rebasing "other" content-divergent changeset 29e08829c51f on be41fdcd0ee1
   531   rebasing "other" content-divergent changeset 2a9f6ccbdeba on b006cf317e0e
   532   updating to "local" side of the conflict: 4065e1d314c3
   532   updating to "local" side of the conflict: b4575ed6fcfc
   533   merging "other" content-divergent changeset '6d515d1ffc69'
   533   merging "other" content-divergent changeset '48f745db3f53'
   534   merging y
   534   merging y
   535   warning: conflicts while merging y! (edit, then use 'hg resolve --mark')
   535   warning: conflicts while merging y! (edit, then use 'hg resolve --mark')
   536   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   536   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   537   abort: fix conflicts and see `hg help evolve.interrupted`
   537   abort: fix conflicts and see `hg help evolve.interrupted`
   538   [255]
   538   [255]
   540   $ echo watbar > y
   540   $ echo watbar > y
   541   $ hg resolve -m
   541   $ hg resolve -m
   542   (no more unresolved files)
   542   (no more unresolved files)
   543   continue: hg evolve --continue
   543   continue: hg evolve --continue
   544   $ hg evolve --continue
   544   $ hg evolve --continue
   545   working directory is now at bbaca013758a
   545   working directory is now at 7bbcf24ddecf
   546 
   546 
   547   $ hg glog
   547   $ hg glog
   548   @  20:bbaca013758a added y
   548   @  21:7bbcf24ddecf added y
   549   |   () [bar] draft
   549   |   () [bar] draft
   550   o  14:be41fdcd0ee1 added foo to x
   550   o  15:b006cf317e0e added foo to x
   551   |   () [bar] draft
   551   |   () [bar] draft
   552   o  9:b6b20b8eefdc added d
   552   o  10:4ae4427ee9f8 added d
   553   |   () [default] draft
   553   |   () [default] draft
   554   o  8:7c46f743e62f added c
   554   o  9:917281f93fcb added c
   555   |   () [default] draft
   555   |   () [default] draft
   556   o  5:7ed0642d644b added b
   556   o  8:171614c9a791 added b
   557   |   () [default] draft
   557   |   () [default] draft
   558   o  1:c7586e2a9264 added a
   558   o  1:c7586e2a9264 added a
   559   |   () [default] draft
   559   |   () [default] draft
   560   o  0:8fa14d15e168 added hgignore
   560   o  0:8fa14d15e168 added hgignore
   561       () [default] draft
   561       () [default] draft
   562 
   562 
   563   $ hg obslog -r . --all
   563   $ hg obslog -r . --all
   564   @    bbaca013758a (20) added y
   564   @    7bbcf24ddecf (21) added y
   565   |\
   565   |\
   566   x |  4065e1d314c3 (18) added y
   566   x |  48f745db3f53 (20) added y
   567   | |    rewritten(content) as bbaca013758a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   567   | |    rewritten(branch, content) as 7bbcf24ddecf using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   568   | |
   568   | |
   569   | x  6d515d1ffc69 (19) added y
   569   | x  b4575ed6fcfc (19) added y
   570   | |    rewritten(branch, content) as bbaca013758a using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   570   | |    rewritten(content) as 7bbcf24ddecf using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   571   | |
   571   | |
   572   | x  29e08829c51f (16) added y
   572   x |  2a9f6ccbdeba (17) added y
   573   | |    rewritten(parent) as 6d515d1ffc69 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   573   | |    rewritten(parent) as 48f745db3f53 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   574   | |
   574   | |
   575   x |  f1d75198aac4 (17) added y
   575   | x  96b677f01b81 (18) added y
   576   |/     rewritten(content) as 4065e1d314c3 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   576   |/     rewritten(content) as b4575ed6fcfc using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   577   |
   577   |
   578   x  9c30046901ab (15) added y
   578   x  fc6ad2bac162 (16) added y
   579        rewritten(content) as 29e08829c51f using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   579        rewritten(content) as 2a9f6ccbdeba using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   580        rewritten(branch, parent) as f1d75198aac4 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   580        rewritten(branch, parent) as 96b677f01b81 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   581   
   581   
   582 
   582 
   583 checking that relocated commit is there
   583 checking that relocated commit is there
   584   $ hg exp 6d515d1ffc69 --hidden
   584   $ hg exp 48f745db3f53 --hidden
   585   # HG changeset patch
   585   # HG changeset patch
   586   # User test
   586   # User test
   587   # Date 0 0
   587   # Date 0 0
   588   #      Thu Jan 01 00:00:00 1970 +0000
   588   #      Thu Jan 01 00:00:00 1970 +0000
   589   # Node ID 6d515d1ffc6925b036c933078ccb804c26da80b2
   589   # Node ID 48f745db3f5300363ca248b9aeab20ff2a55fbb3
   590   # Parent  be41fdcd0ee181081c4e42c6ee333d3dc3b3ab45
   590   # Parent  b006cf317e0ed16dbe786c439577475580f645f1
   591   added y
   591   added y
   592   
   592   
   593   diff -r be41fdcd0ee1 -r 6d515d1ffc69 y
   593   diff -r b006cf317e0e -r 48f745db3f53 y
   594   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   594   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   595   +++ b/y	Thu Jan 01 00:00:00 1970 +0000
   595   +++ b/y	Thu Jan 01 00:00:00 1970 +0000
   596   @@ -0,0 +1,1 @@
   596   @@ -0,0 +1,1 @@
   597   +bar
   597   +bar
   598 
   598 
   599 Testing when the relocation will result in conflicts and merging wont
   599 Testing when the relocation will result in conflicts and merging wont
   600 ----------------------------------------------------------------------
   600 ----------------------------------------------------------------------
   601 
   601 
   602   $ hg glog
   602   $ hg glog
   603   @  20:bbaca013758a added y
   603   @  21:7bbcf24ddecf added y
   604   |   () [bar] draft
   604   |   () [bar] draft
   605   o  14:be41fdcd0ee1 added foo to x
   605   o  15:b006cf317e0e added foo to x
   606   |   () [bar] draft
   606   |   () [bar] draft
   607   o  9:b6b20b8eefdc added d
   607   o  10:4ae4427ee9f8 added d
   608   |   () [default] draft
   608   |   () [default] draft
   609   o  8:7c46f743e62f added c
   609   o  9:917281f93fcb added c
   610   |   () [default] draft
   610   |   () [default] draft
   611   o  5:7ed0642d644b added b
   611   o  8:171614c9a791 added b
   612   |   () [default] draft
   612   |   () [default] draft
   613   o  1:c7586e2a9264 added a
   613   o  1:c7586e2a9264 added a
   614   |   () [default] draft
   614   |   () [default] draft
   615   o  0:8fa14d15e168 added hgignore
   615   o  0:8fa14d15e168 added hgignore
   616       () [default] draft
   616       () [default] draft
   619   0 files updated, 0 files merged, 4 files removed, 0 files unresolved
   619   0 files updated, 0 files merged, 4 files removed, 0 files unresolved
   620 
   620 
   621   $ echo z > z
   621   $ echo z > z
   622   $ hg ci -Aqm "added z"
   622   $ hg ci -Aqm "added z"
   623   $ hg glog -r .
   623   $ hg glog -r .
   624   @  21:884c9d1a1a84 added z
   624   @  22:daf1de08f3b0 added z
   625   |   () [default] draft
   625   |   () [default] draft
   626   ~
   626   ~
   627 
   627 
   628   $ echo foo > y
   628   $ echo foo > y
   629   $ hg add y
   629   $ hg add y
   630   $ hg amend
   630   $ hg amend
   631 
   631 
   632   $ hg up 884c9d1a1a84 --hidden
   632   $ hg up daf1de08f3b0 --hidden
   633   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   633   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   634   updated to hidden changeset 884c9d1a1a84
   634   updated to hidden changeset daf1de08f3b0
   635   (hidden revision '884c9d1a1a84' was rewritten as: 3e22a949fe7d)
   635   (hidden revision 'daf1de08f3b0' was rewritten as: 3f7a1f693080)
   636   working directory parent is obsolete! (884c9d1a1a84)
   636   working directory parent is obsolete! (daf1de08f3b0)
   637   (use 'hg evolve' to update to its successor: 3e22a949fe7d)
   637   (use 'hg evolve' to update to its successor: 3f7a1f693080)
   638   $ hg rebase -r . -d bbaca013758a --config experimental.evolution.allowdivergence=True
   638   $ hg rebase -r . -d 7bbcf24ddecf --config experimental.evolution.allowdivergence=True
   639   rebasing 21:884c9d1a1a84 "added z"
   639   rebasing 22:daf1de08f3b0 "added z"
   640   2 new content-divergent changesets
   640   2 new content-divergent changesets
   641   $ echo bar > z
   641   $ echo bar > z
   642   $ hg amend
   642   $ hg amend
   643 
   643 
   644   $ hg glog
   644   $ hg glog
   645   @  24:d2eca78cc588 added z
   645   @  25:53242575ffa9 added z
   646   |   () [bar] draft
   646   |   () [bar] draft
   647   | *  22:3e22a949fe7d added z
   647   | *  23:3f7a1f693080 added z
   648   | |   () [default] draft
   648   | |   () [default] draft
   649   o |  20:bbaca013758a added y
   649   o |  21:7bbcf24ddecf added y
   650   | |   () [bar] draft
   650   | |   () [bar] draft
   651   o |  14:be41fdcd0ee1 added foo to x
   651   o |  15:b006cf317e0e added foo to x
   652   | |   () [bar] draft
   652   | |   () [bar] draft
   653   o |  9:b6b20b8eefdc added d
   653   o |  10:4ae4427ee9f8 added d
   654   | |   () [default] draft
   654   | |   () [default] draft
   655   o |  8:7c46f743e62f added c
   655   o |  9:917281f93fcb added c
   656   |/    () [default] draft
   656   |/    () [default] draft
   657   o  5:7ed0642d644b added b
   657   o  8:171614c9a791 added b
   658   |   () [default] draft
   658   |   () [default] draft
   659   o  1:c7586e2a9264 added a
   659   o  1:c7586e2a9264 added a
   660   |   () [default] draft
   660   |   () [default] draft
   661   o  0:8fa14d15e168 added hgignore
   661   o  0:8fa14d15e168 added hgignore
   662       () [default] draft
   662       () [default] draft
   663 
   663 
   664   $ hg evolve --content-divergent
   664   $ hg evolve --content-divergent
   665   merge:[24] added z
   665   merge:[25] added z
   666   with: [22] added z
   666   with: [23] added z
   667   base: [21] added z
   667   base: [22] added z
   668   rebasing "other" content-divergent changeset 3e22a949fe7d on bbaca013758a
   668   rebasing "other" content-divergent changeset 3f7a1f693080 on 7bbcf24ddecf
   669   merging y
   669   merging y
   670   warning: conflicts while merging y! (edit, then use 'hg resolve --mark')
   670   warning: conflicts while merging y! (edit, then use 'hg resolve --mark')
   671   abort: unresolved merge conflicts (see hg help resolve)
   671   abort: unresolved merge conflicts (see hg help resolve)
   672   [255]
   672   [255]
   673 
   673 
   674   $ hg diff
   674   $ hg diff
   675   diff -r bbaca013758a y
   675   diff -r 7bbcf24ddecf y
   676   --- a/y	Thu Jan 01 00:00:00 1970 +0000
   676   --- a/y	Thu Jan 01 00:00:00 1970 +0000
   677   +++ b/y	Thu Jan 01 00:00:00 1970 +0000
   677   +++ b/y	Thu Jan 01 00:00:00 1970 +0000
   678   @@ -1,1 +1,5 @@
   678   @@ -1,1 +1,5 @@
   679   +<<<<<<< destination: bbaca013758a bar - test: added y
   679   +<<<<<<< destination: 7bbcf24ddecf bar - test: added y
   680    watbar
   680    watbar
   681   +=======
   681   +=======
   682   +foo
   682   +foo
   683   +>>>>>>> evolving:    3e22a949fe7d - test: added z
   683   +>>>>>>> evolving:    3f7a1f693080 - test: added z
   684   diff -r bbaca013758a z
   684   diff -r 7bbcf24ddecf z
   685   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   685   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   686   +++ b/z	Thu Jan 01 00:00:00 1970 +0000
   686   +++ b/z	Thu Jan 01 00:00:00 1970 +0000
   687   @@ -0,0 +1,1 @@
   687   @@ -0,0 +1,1 @@
   688   +z
   688   +z
   689 
   689 
   691   $ hg resolve -m
   691   $ hg resolve -m
   692   (no more unresolved files)
   692   (no more unresolved files)
   693   continue: hg evolve --continue
   693   continue: hg evolve --continue
   694 
   694 
   695   $ hg evolve --continue
   695   $ hg evolve --continue
   696   working directory is now at a15eb4e32166
   696   working directory is now at 10c9f94f1e99
   697 
   697 
   698   $ hg glog
   698   $ hg glog
   699   @  25:a15eb4e32166 added z
   699   @  26:10c9f94f1e99 added z
   700   |   () [default] draft
   700   |   () [default] draft
   701   o  20:bbaca013758a added y
   701   o  21:7bbcf24ddecf added y
   702   |   () [bar] draft
   702   |   () [bar] draft
   703   o  14:be41fdcd0ee1 added foo to x
   703   o  15:b006cf317e0e added foo to x
   704   |   () [bar] draft
   704   |   () [bar] draft
   705   o  9:b6b20b8eefdc added d
   705   o  10:4ae4427ee9f8 added d
   706   |   () [default] draft
   706   |   () [default] draft
   707   o  8:7c46f743e62f added c
   707   o  9:917281f93fcb added c
   708   |   () [default] draft
   708   |   () [default] draft
   709   o  5:7ed0642d644b added b
   709   o  8:171614c9a791 added b
   710   |   () [default] draft
   710   |   () [default] draft
   711   o  1:c7586e2a9264 added a
   711   o  1:c7586e2a9264 added a
   712   |   () [default] draft
   712   |   () [default] draft
   713   o  0:8fa14d15e168 added hgignore
   713   o  0:8fa14d15e168 added hgignore
   714       () [default] draft
   714       () [default] draft
   717   $ hg exp
   717   $ hg exp
   718   # HG changeset patch
   718   # HG changeset patch
   719   # User test
   719   # User test
   720   # Date 0 0
   720   # Date 0 0
   721   #      Thu Jan 01 00:00:00 1970 +0000
   721   #      Thu Jan 01 00:00:00 1970 +0000
   722   # Node ID a15eb4e32166b0652fdec4c1dd30c9d668323bac
   722   # Node ID 10c9f94f1e9902d905b22019d711d31f3642f589
   723   # Parent  bbaca013758a55364955939e2d2e4536cb8d05cf
   723   # Parent  7bbcf24ddecfe97d7c2ac6fa8c07c155c8fda47b
   724   added z
   724   added z
   725   
   725   
   726   diff -r bbaca013758a -r a15eb4e32166 y
   726   diff -r 7bbcf24ddecf -r 10c9f94f1e99 y
   727   --- a/y	Thu Jan 01 00:00:00 1970 +0000
   727   --- a/y	Thu Jan 01 00:00:00 1970 +0000
   728   +++ b/y	Thu Jan 01 00:00:00 1970 +0000
   728   +++ b/y	Thu Jan 01 00:00:00 1970 +0000
   729   @@ -1,1 +1,1 @@
   729   @@ -1,1 +1,1 @@
   730   -watbar
   730   -watbar
   731   +foo
   731   +foo
   732   diff -r bbaca013758a -r a15eb4e32166 z
   732   diff -r 7bbcf24ddecf -r 10c9f94f1e99 z
   733   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   733   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   734   +++ b/z	Thu Jan 01 00:00:00 1970 +0000
   734   +++ b/z	Thu Jan 01 00:00:00 1970 +0000
   735   @@ -0,0 +1,1 @@
   735   @@ -0,0 +1,1 @@
   736   +z
   736   +z
   737 
   737 
   908   | evolve does not work in that case.
   908   | evolve does not work in that case.
   909   | rebase one of them next to the other and run 
   909   | rebase one of them next to the other and run 
   910   | this command again.
   910   | this command again.
   911   | - either: hg rebase --dest 'p1(c72d2885eb51)' -r 513e3267034e
   911   | - either: hg rebase --dest 'p1(c72d2885eb51)' -r 513e3267034e
   912   | - or:     hg rebase --dest 'p1(513e3267034e)' -r c72d2885eb51
   912   | - or:     hg rebase --dest 'p1(513e3267034e)' -r c72d2885eb51
   913   working directory is now at df46e196f3c4
   913   working directory is now at b9f381e183a3
   914 
   914 
   915   $ hg glog
   915   $ hg glog
   916   @  13:df46e196f3c4 watbar to a
   916   @  13:b9f381e183a3 watbar to a
   917   |   () [default] draft
   917   |   () [default] draft
   918   | *  12:513e3267034e added d
   918   | *  12:513e3267034e added d
   919   | |   () [default] draft
   919   | |   () [default] draft
   920   | *  11:accb7a2b6ae9 added c
   920   | *  11:accb7a2b6ae9 added c
   921   | |   () [default] draft
   921   | |   () [default] draft