tests/test-evolve-orphan-merge.t
branchmercurial-4.3
changeset 4174 e07e764c0f48
parent 3936 537fd9a86c06
parent 4173 e268f7fd7839
equal deleted inserted replaced
4173:e268f7fd7839 4174:e07e764c0f48
    49 
    49 
    50   $ hg up d76850646258
    50   $ hg up d76850646258
    51   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    51   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    52   $ echo bar > b
    52   $ echo bar > b
    53   $ hg amend
    53   $ hg amend
    54   1 new orphan changesets
    54   1 new unstable changesets
    55 
    55 
    56   $ hg glog
    56   $ hg glog
    57   @  4:64370c9805e7 added b
    57   @  5:64370c9805e7 added b
    58   |   () draft
    58   |   () draft
    59   | o    3:3b2b6f4652ee merging a and b
    59   | o    3:3b2b6f4652ee merging a and b
    60   | |\    () draft
    60   | |\    () draft
    61   +---x  2:d76850646258 added b
    61   +---x  2:d76850646258 added b
    62   | |     () draft
    62   | |     () draft
    65   o  0:8fa14d15e168 added hgignore
    65   o  0:8fa14d15e168 added hgignore
    66       () draft
    66       () draft
    67 
    67 
    68   $ hg evolve --all
    68   $ hg evolve --all
    69   move:[3] merging a and b
    69   move:[3] merging a and b
    70   atop:[4] added b
    70   atop:[5] added b
    71   working directory is now at 91fd62122a4b
    71   working directory is now at 91fd62122a4b
    72 
    72 
    73   $ hg glog
    73   $ hg glog
    74   @    5:91fd62122a4b merging a and b
    74   @    6:91fd62122a4b merging a and b
    75   |\    () draft
    75   |\    () draft
    76   | o  4:64370c9805e7 added b
    76   | o  5:64370c9805e7 added b
    77   | |   () draft
    77   | |   () draft
    78   o |  1:c7586e2a9264 added a
    78   o |  1:c7586e2a9264 added a
    79   |/    () draft
    79   |/    () draft
    80   o  0:8fa14d15e168 added hgignore
    80   o  0:8fa14d15e168 added hgignore
    81       () draft
    81       () draft
    82 
    82 
    83   $ hg parents
    83   $ hg parents
    84   changeset:   5:91fd62122a4b
    84   changeset:   6:91fd62122a4b
    85   tag:         tip
    85   tag:         tip
    86   parent:      4:64370c9805e7
    86   parent:      5:64370c9805e7
    87   parent:      1:c7586e2a9264
    87   parent:      1:c7586e2a9264
    88   user:        test
    88   user:        test
    89   date:        Thu Jan 01 00:00:00 1970 +0000
    89   date:        Thu Jan 01 00:00:00 1970 +0000
    90   summary:     merging a and b
    90   summary:     merging a and b
    91   
    91   
    94 
    94 
    95   $ hg up c7586e2a9264
    95   $ hg up c7586e2a9264
    96   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    96   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    97   $ echo bar > a
    97   $ echo bar > a
    98   $ hg amend
    98   $ hg amend
    99   1 new orphan changesets
    99   1 new unstable changesets
   100 
   100 
   101   $ hg glog
   101   $ hg glog
   102   @  6:3d41537b44ca added a
   102   @  8:3d41537b44ca added a
   103   |   () draft
   103   |   () draft
   104   | o    5:91fd62122a4b merging a and b
   104   | o    6:91fd62122a4b merging a and b
   105   | |\    () draft
   105   | |\    () draft
   106   +---o  4:64370c9805e7 added b
   106   +---o  5:64370c9805e7 added b
   107   | |     () draft
   107   | |     () draft
   108   | x  1:c7586e2a9264 added a
   108   | x  1:c7586e2a9264 added a
   109   |/    () draft
   109   |/    () draft
   110   o  0:8fa14d15e168 added hgignore
   110   o  0:8fa14d15e168 added hgignore
   111       () draft
   111       () draft
   112 
   112 
   113   $ hg evolve --all
   113   $ hg evolve --all
   114   move:[5] merging a and b
   114   move:[6] merging a and b
   115   atop:[6] added a
   115   atop:[8] added a
   116   working directory is now at 968d205ba4d8
   116   working directory is now at 968d205ba4d8
   117 
   117 
   118   $ hg glog
   118   $ hg glog
   119   @    7:968d205ba4d8 merging a and b
   119   @    9:968d205ba4d8 merging a and b
   120   |\    () draft
   120   |\    () draft
   121   | o  6:3d41537b44ca added a
   121   | o  8:3d41537b44ca added a
   122   | |   () draft
   122   | |   () draft
   123   o |  4:64370c9805e7 added b
   123   o |  5:64370c9805e7 added b
   124   |/    () draft
   124   |/    () draft
   125   o  0:8fa14d15e168 added hgignore
   125   o  0:8fa14d15e168 added hgignore
   126       () draft
   126       () draft
   127 
   127 
   128   $ hg parents
   128   $ hg parents
   129   changeset:   7:968d205ba4d8
   129   changeset:   9:968d205ba4d8
   130   tag:         tip
   130   tag:         tip
   131   parent:      6:3d41537b44ca
   131   parent:      8:3d41537b44ca
   132   parent:      4:64370c9805e7
   132   parent:      5:64370c9805e7
   133   user:        test
   133   user:        test
   134   date:        Thu Jan 01 00:00:00 1970 +0000
   134   date:        Thu Jan 01 00:00:00 1970 +0000
   135   summary:     merging a and b
   135   summary:     merging a and b
   136   
   136   
   137 2) When merging both the parents resulted in conflicts
   137 2) When merging both the parents resulted in conflicts
   146   [0] added hgignore
   146   [0] added hgignore
   147   $ echo bar > c
   147   $ echo bar > c
   148   $ hg ci -Aqm "bar to c"
   148   $ hg ci -Aqm "bar to c"
   149 
   149 
   150   $ hg glog
   150   $ hg glog
   151   @  9:d0f84b25d4e3 bar to c
   151   @  11:d0f84b25d4e3 bar to c
   152   |   () draft
   152   |   () draft
   153   | o  8:1c165c673853 foo to c
   153   | o  10:1c165c673853 foo to c
   154   |/    () draft
   154   |/    () draft
   155   | o    7:968d205ba4d8 merging a and b
   155   | o    9:968d205ba4d8 merging a and b
   156   | |\    () draft
   156   | |\    () draft
   157   +---o  6:3d41537b44ca added a
   157   +---o  8:3d41537b44ca added a
   158   | |     () draft
   158   | |     () draft
   159   | o  4:64370c9805e7 added b
   159   | o  5:64370c9805e7 added b
   160   |/    () draft
   160   |/    () draft
   161   o  0:8fa14d15e168 added hgignore
   161   o  0:8fa14d15e168 added hgignore
   162       () draft
   162       () draft
   163 
   163 
   164 Prune old test changesets to have clear graph view
   164 Prune old test changesets to have clear graph view
   165   $ hg prune -r 64370c9805e7 -r 3d41537b44ca -r 968d205ba4d8
   165   $ hg prune -r 64370c9805e7 -r 3d41537b44ca -r 968d205ba4d8
   166   3 changesets pruned
   166   3 changesets pruned
   167 
   167 
   168   $ hg glog
   168   $ hg glog
   169   @  9:d0f84b25d4e3 bar to c
   169   @  11:d0f84b25d4e3 bar to c
   170   |   () draft
   170   |   () draft
   171   | o  8:1c165c673853 foo to c
   171   | o  10:1c165c673853 foo to c
   172   |/    () draft
   172   |/    () draft
   173   o  0:8fa14d15e168 added hgignore
   173   o  0:8fa14d15e168 added hgignore
   174       () draft
   174       () draft
   175 
   175 
   176   $ hg merge
   176   $ hg merge
   183   $ hg resolve -m
   183   $ hg resolve -m
   184   (no more unresolved files)
   184   (no more unresolved files)
   185   $ hg ci -m "foobar to c"
   185   $ hg ci -m "foobar to c"
   186 
   186 
   187   $ hg glog
   187   $ hg glog
   188   @    10:fd41d25a3e90 foobar to c
   188   @    12:fd41d25a3e90 foobar to c
   189   |\    () draft
   189   |\    () draft
   190   | o  9:d0f84b25d4e3 bar to c
   190   | o  11:d0f84b25d4e3 bar to c
   191   | |   () draft
   191   | |   () draft
   192   o |  8:1c165c673853 foo to c
   192   o |  10:1c165c673853 foo to c
   193   |/    () draft
   193   |/    () draft
   194   o  0:8fa14d15e168 added hgignore
   194   o  0:8fa14d15e168 added hgignore
   195       () draft
   195       () draft
   196 
   196 
   197 Testing with first parent obsoleted
   197 Testing with first parent obsoleted
   198 
   198 
   199   $ hg up 1c165c673853
   199   $ hg up 1c165c673853
   200   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   200   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   201   $ echo FOO > c
   201   $ echo FOO > c
   202   $ hg amend
   202   $ hg amend
   203   1 new orphan changesets
   203   1 new unstable changesets
   204 
   204 
   205   $ hg glog
   205   $ hg glog
   206   @  11:31c317b7bdb1 foo to c
   206   @  14:31c317b7bdb1 foo to c
   207   |   () draft
   207   |   () draft
   208   | o    10:fd41d25a3e90 foobar to c
   208   | o    12:fd41d25a3e90 foobar to c
   209   | |\    () draft
   209   | |\    () draft
   210   +---o  9:d0f84b25d4e3 bar to c
   210   +---o  11:d0f84b25d4e3 bar to c
   211   | |     () draft
   211   | |     () draft
   212   | x  8:1c165c673853 foo to c
   212   | x  10:1c165c673853 foo to c
   213   |/    () draft
   213   |/    () draft
   214   o  0:8fa14d15e168 added hgignore
   214   o  0:8fa14d15e168 added hgignore
   215       () draft
   215       () draft
   216 
   216 
   217   $ hg evolve --all
   217   $ hg evolve --all
   218   move:[10] foobar to c
   218   move:[12] foobar to c
   219   atop:[11] foo to c
   219   atop:[14] foo to c
   220   merging c
   220   merging c
   221   warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
   221   warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
   222   fix conflicts and see `hg help evolve.interrupted`
   222   fix conflicts and see `hg help evolve.interrupted`
   223   [1]
   223   [1]
   224 
   224 
   225   $ echo FOObar > c
   225   $ echo FOObar > c
   226   $ hg resolve -m
   226   $ hg resolve -m
   227   (no more unresolved files)
   227   (no more unresolved files)
   228   continue: hg evolve --continue
   228   continue: hg evolve --continue
   229   $ hg evolve --continue
   229   $ hg evolve --continue
   230   evolving 10:fd41d25a3e90 "foobar to c"
   230   evolving 12:fd41d25a3e90 "foobar to c"
   231   working directory is now at c5405d2da7a1
   231   working directory is now at c5405d2da7a1
   232 
   232 
   233   $ hg glog
   233   $ hg glog
   234   @    12:c5405d2da7a1 foobar to c
   234   @    15:c5405d2da7a1 foobar to c
   235   |\    () draft
   235   |\    () draft
   236   | o  11:31c317b7bdb1 foo to c
   236   | o  14:31c317b7bdb1 foo to c
   237   | |   () draft
   237   | |   () draft
   238   o |  9:d0f84b25d4e3 bar to c
   238   o |  11:d0f84b25d4e3 bar to c
   239   |/    () draft
   239   |/    () draft
   240   o  0:8fa14d15e168 added hgignore
   240   o  0:8fa14d15e168 added hgignore
   241       () draft
   241       () draft
   242 
   242 
   243   $ hg parents
   243   $ hg parents
   244   changeset:   12:c5405d2da7a1
   244   changeset:   15:c5405d2da7a1
   245   tag:         tip
   245   tag:         tip
   246   parent:      9:d0f84b25d4e3
   246   parent:      11:d0f84b25d4e3
   247   parent:      11:31c317b7bdb1
   247   parent:      14:31c317b7bdb1
   248   user:        test
   248   user:        test
   249   date:        Thu Jan 01 00:00:00 1970 +0000
   249   date:        Thu Jan 01 00:00:00 1970 +0000
   250   summary:     foobar to c
   250   summary:     foobar to c
   251   
   251   
   252 Testing a conlficting merge with second parent obsoleted
   252 Testing a conlficting merge with second parent obsoleted
   253 
   253 
   254   $ hg up 31c317b7bdb1
   254   $ hg up 31c317b7bdb1
   255   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   255   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   256   $ echo foo > c
   256   $ echo foo > c
   257   $ hg amend
   257   $ hg amend
   258   1 new orphan changesets
   258   1 new unstable changesets
   259 
   259 
   260   $ hg glog
   260   $ hg glog
   261   @  13:928097d0b5b5 foo to c
   261   @  17:928097d0b5b5 foo to c
   262   |   () draft
   262   |   () draft
   263   | o    12:c5405d2da7a1 foobar to c
   263   | o    15:c5405d2da7a1 foobar to c
   264   | |\    () draft
   264   | |\    () draft
   265   +---x  11:31c317b7bdb1 foo to c
   265   +---x  14:31c317b7bdb1 foo to c
   266   | |     () draft
   266   | |     () draft
   267   | o  9:d0f84b25d4e3 bar to c
   267   | o  11:d0f84b25d4e3 bar to c
   268   |/    () draft
   268   |/    () draft
   269   o  0:8fa14d15e168 added hgignore
   269   o  0:8fa14d15e168 added hgignore
   270       () draft
   270       () draft
   271 
   271 
   272   $ hg evolve --all
   272   $ hg evolve --all
   273   move:[12] foobar to c
   273   move:[15] foobar to c
   274   atop:[13] foo to c
   274   atop:[17] foo to c
   275   merging c
   275   merging c
   276   warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
   276   warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
   277   fix conflicts and see `hg help evolve.interrupted`
   277   fix conflicts and see `hg help evolve.interrupted`
   278   [1]
   278   [1]
   279 
   279 
   281   $ hg resolve -m
   281   $ hg resolve -m
   282   (no more unresolved files)
   282   (no more unresolved files)
   283   continue: hg evolve --continue
   283   continue: hg evolve --continue
   284 
   284 
   285   $ hg evolve --continue
   285   $ hg evolve --continue
   286   evolving 12:c5405d2da7a1 "foobar to c"
   286   evolving 15:c5405d2da7a1 "foobar to c"
   287   working directory is now at dc1948a6eeab
   287   working directory is now at dc1948a6eeab
   288 
   288 
   289   $ hg glog
   289   $ hg glog
   290   @    14:dc1948a6eeab foobar to c
   290   @    18:dc1948a6eeab foobar to c
   291   |\    () draft
   291   |\    () draft
   292   | o  13:928097d0b5b5 foo to c
   292   | o  17:928097d0b5b5 foo to c
   293   | |   () draft
   293   | |   () draft
   294   o |  9:d0f84b25d4e3 bar to c
   294   o |  11:d0f84b25d4e3 bar to c
   295   |/    () draft
   295   |/    () draft
   296   o  0:8fa14d15e168 added hgignore
   296   o  0:8fa14d15e168 added hgignore
   297       () draft
   297       () draft
   298 
   298 
   299 3) When stabilizing other changesets resulted in orphan merge changeset
   299 3) When stabilizing other changesets resulted in orphan merge changeset
   307   $ for ch in l m; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
   307   $ for ch in l m; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
   308   $ hg up 8fa14d15e168
   308   $ hg up 8fa14d15e168
   309   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   309   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   310   $ for ch in x y; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
   310   $ for ch in x y; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
   311   $ hg glog
   311   $ hg glog
   312   @  18:863d11043c67 added y
   312   @  22:863d11043c67 added y
   313   |   () draft
   313   |   () draft
   314   o  17:3f2247835c1d added x
   314   o  21:3f2247835c1d added x
   315   |   () draft
   315   |   () draft
   316   | o  16:e44dc179e7f5 added m
   316   | o  20:e44dc179e7f5 added m
   317   | |   () draft
   317   | |   () draft
   318   | o  15:8634bee7bf1e added l
   318   | o  19:8634bee7bf1e added l
   319   |/    () draft
   319   |/    () draft
   320   o  0:8fa14d15e168 added hgignore
   320   o  0:8fa14d15e168 added hgignore
   321       () draft
   321       () draft
   322 
   322 
   323   $ hg merge
   323   $ hg merge
   327 
   327 
   328   $ hg up 8634bee7bf1e
   328   $ hg up 8634bee7bf1e
   329   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
   329   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
   330   $ echo bar > l
   330   $ echo bar > l
   331   $ hg amend
   331   $ hg amend
   332   2 new orphan changesets
   332   2 new unstable changesets
   333 
   333 
   334   $ hg glog
   334   $ hg glog
   335   @  20:fccc9de66799 added l
   335   @  25:fccc9de66799 added l
   336   |   () draft
   336   |   () draft
   337   | o    19:190763373d8b merge commit
   337   | o    23:190763373d8b merge commit
   338   | |\    () draft
   338   | |\    () draft
   339   | | o  18:863d11043c67 added y
   339   | | o  22:863d11043c67 added y
   340   | | |   () draft
   340   | | |   () draft
   341   +---o  17:3f2247835c1d added x
   341   +---o  21:3f2247835c1d added x
   342   | |     () draft
   342   | |     () draft
   343   | o  16:e44dc179e7f5 added m
   343   | o  20:e44dc179e7f5 added m
   344   | |   () draft
   344   | |   () draft
   345   | x  15:8634bee7bf1e added l
   345   | x  19:8634bee7bf1e added l
   346   |/    () draft
   346   |/    () draft
   347   o  0:8fa14d15e168 added hgignore
   347   o  0:8fa14d15e168 added hgignore
   348       () draft
   348       () draft
   349   $ hg evolve --all
   349   $ hg evolve --all
   350   move:[16] added m
   350   move:[20] added m
   351   atop:[20] added l
   351   atop:[25] added l
   352   move:[19] merge commit
   352   move:[23] merge commit
   353   working directory is now at a446ad3e6700
   353   working directory is now at a446ad3e6700
   354 
   354 
   355   $ hg glog
   355   $ hg glog
   356   @    22:a446ad3e6700 merge commit
   356   @    27:a446ad3e6700 merge commit
   357   |\    () draft
   357   |\    () draft
   358   | o  21:495d2039f8f1 added m
   358   | o  26:495d2039f8f1 added m
   359   | |   () draft
   359   | |   () draft
   360   | o  20:fccc9de66799 added l
   360   | o  25:fccc9de66799 added l
   361   | |   () draft
   361   | |   () draft
   362   o |  18:863d11043c67 added y
   362   o |  22:863d11043c67 added y
   363   | |   () draft
   363   | |   () draft
   364   o |  17:3f2247835c1d added x
   364   o |  21:3f2247835c1d added x
   365   |/    () draft
   365   |/    () draft
   366   o  0:8fa14d15e168 added hgignore
   366   o  0:8fa14d15e168 added hgignore
   367       () draft
   367       () draft
   368 
   368 
   369 4) When both the parents of the merge changeset are obsolete with a succ
   369 4) When both the parents of the merge changeset are obsolete with a succ
   373   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
   373   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
   374   working directory now at fccc9de66799
   374   working directory now at fccc9de66799
   375   3 changesets pruned
   375   3 changesets pruned
   376 
   376 
   377   $ hg glog
   377   $ hg glog
   378   @  20:fccc9de66799 added l
   378   @  25:fccc9de66799 added l
   379   |   () draft
   379   |   () draft
   380   | o  17:3f2247835c1d added x
   380   | o  21:3f2247835c1d added x
   381   |/    () draft
   381   |/    () draft
   382   o  0:8fa14d15e168 added hgignore
   382   o  0:8fa14d15e168 added hgignore
   383       () draft
   383       () draft
   384 
   384 
   385   $ hg merge
   385   $ hg merge
   389 
   389 
   390   $ hg up fccc9de66799
   390   $ hg up fccc9de66799
   391   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   391   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   392   $ echo foobar > l
   392   $ echo foobar > l
   393   $ hg amend
   393   $ hg amend
   394   1 new orphan changesets
   394   1 new unstable changesets
   395   $ hg up 3f2247835c1d
   395   $ hg up 3f2247835c1d
   396   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   396   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   397   $ echo bar > x
   397   $ echo bar > x
   398   $ hg amend
   398   $ hg amend
   399   $ hg glog
   399   $ hg glog
   400   @  25:cdf6547da25f added x
   400   @  32:cdf6547da25f added x
   401   |   () draft
   401   |   () draft
   402   | o  24:3f371171d767 added l
   402   | o  30:3f371171d767 added l
   403   |/    () draft
   403   |/    () draft
   404   | o    23:7b78a9784f3e merged l and x
   404   | o    28:7b78a9784f3e merged l and x
   405   | |\    () draft
   405   | |\    () draft
   406   +---x  20:fccc9de66799 added l
   406   +---x  25:fccc9de66799 added l
   407   | |     () draft
   407   | |     () draft
   408   | x  17:3f2247835c1d added x
   408   | x  21:3f2247835c1d added x
   409   |/    () draft
   409   |/    () draft
   410   o  0:8fa14d15e168 added hgignore
   410   o  0:8fa14d15e168 added hgignore
   411       () draft
   411       () draft
   412 
   412 
   413 XXX: We should handle this case too
   413 XXX: We should handle this case too
   414   $ hg evolve --all
   414   $ hg evolve --all
   415   move:[23] merged l and x
   415   move:[28] merged l and x
   416   atop:[25] added x
   416   atop:[32] added x
   417   move:[26] merged l and x
   417   move:[33] merged l and x
   418   atop:[24] added l
   418   atop:[30] added l
   419   working directory is now at adb665a78e08
   419   working directory is now at adb665a78e08
   420 
   420 
   421   $ hg glog
   421   $ hg glog
   422   @    27:adb665a78e08 merged l and x
   422   @    34:adb665a78e08 merged l and x
   423   |\    () draft
   423   |\    () draft
   424   | o  25:cdf6547da25f added x
   424   | o  32:cdf6547da25f added x
   425   | |   () draft
   425   | |   () draft
   426   o |  24:3f371171d767 added l
   426   o |  30:3f371171d767 added l
   427   |/    () draft
   427   |/    () draft
   428   o  0:8fa14d15e168 added hgignore
   428   o  0:8fa14d15e168 added hgignore
   429       () draft
   429       () draft
   430 
   430 
   431   $ hg exp
   431   $ hg exp
   443   +++ b/x	Thu Jan 01 00:00:00 1970 +0000
   443   +++ b/x	Thu Jan 01 00:00:00 1970 +0000
   444   @@ -0,0 +1,1 @@
   444   @@ -0,0 +1,1 @@
   445   +bar
   445   +bar
   446 
   446 
   447   $ hg parents
   447   $ hg parents
   448   changeset:   27:adb665a78e08
   448   changeset:   34:adb665a78e08
   449   tag:         tip
   449   tag:         tip
   450   parent:      24:3f371171d767
   450   parent:      30:3f371171d767
   451   parent:      25:cdf6547da25f
   451   parent:      32:cdf6547da25f
   452   user:        test
   452   user:        test
   453   date:        Thu Jan 01 00:00:00 1970 +0000
   453   date:        Thu Jan 01 00:00:00 1970 +0000
   454   summary:     merged l and x
   454   summary:     merged l and x
   455   
   455   
   456 
   456 
   457 5) When one of the merge parent is pruned without a successor
   457 5) When one of the merge parent is pruned without a successor
   458 -------------------------------------------------------------
   458 -------------------------------------------------------------
   459 
   459 
   460   $ hg prune -r cdf6547da25f
   460   $ hg prune -r cdf6547da25f
   461   1 changesets pruned
   461   1 changesets pruned
   462   1 new orphan changesets
   462   1 new unstable changesets
   463   $ hg glog
   463   $ hg glog
   464   @    27:adb665a78e08 merged l and x
   464   @    34:adb665a78e08 merged l and x
   465   |\    () draft
   465   |\    () draft
   466   | x  25:cdf6547da25f added x
   466   | x  32:cdf6547da25f added x
   467   | |   () draft
   467   | |   () draft
   468   o |  24:3f371171d767 added l
   468   o |  30:3f371171d767 added l
   469   |/    () draft
   469   |/    () draft
   470   o  0:8fa14d15e168 added hgignore
   470   o  0:8fa14d15e168 added hgignore
   471       () draft
   471       () draft
   472 
   472 
   473   $ hg evolve --rev .
   473   $ hg evolve --rev .
   474   move:[27] merged l and x
   474   move:[34] merged l and x
   475   atop:[0] added hgignore
   475   atop:[0] added hgignore
   476   working directory is now at fb8fe870ae7d
   476   working directory is now at fb8fe870ae7d
   477 
   477 
   478   $ hg glog
   478   $ hg glog
   479   @    28:fb8fe870ae7d merged l and x
   479   @    35:fb8fe870ae7d merged l and x
   480   |\    () draft
   480   |\    () draft
   481   | o  24:3f371171d767 added l
   481   | o  30:3f371171d767 added l
   482   |/    () draft
   482   |/    () draft
   483   o  0:8fa14d15e168 added hgignore
   483   o  0:8fa14d15e168 added hgignore
   484       () draft
   484       () draft
   485 
   485 
   486 6) When one parent is pruned without successor and the other parent of merge is
   486 6) When one parent is pruned without successor and the other parent of merge is
   487 the parent of the pruned commit
   487 the parent of the pruned commit
   488 --------------------------------------------------------------------------------
   488 --------------------------------------------------------------------------------
   489 
   489 
   490   $ hg glog
   490   $ hg glog
   491   @    28:fb8fe870ae7d merged l and x
   491   @    35:fb8fe870ae7d merged l and x
   492   |\    () draft
   492   |\    () draft
   493   | o  24:3f371171d767 added l
   493   | o  30:3f371171d767 added l
   494   |/    () draft
   494   |/    () draft
   495   o  0:8fa14d15e168 added hgignore
   495   o  0:8fa14d15e168 added hgignore
   496       () draft
   496       () draft
   497 
   497 
   498   $ hg prune -r 3f371171d767
   498   $ hg prune -r 3f371171d767
   499   1 changesets pruned
   499   1 changesets pruned
   500   1 new orphan changesets
   500   1 new unstable changesets
   501 
   501 
   502   $ hg glog
   502   $ hg glog
   503   @    28:fb8fe870ae7d merged l and x
   503   @    35:fb8fe870ae7d merged l and x
   504   |\    () draft
   504   |\    () draft
   505   | x  24:3f371171d767 added l
   505   | x  30:3f371171d767 added l
   506   |/    () draft
   506   |/    () draft
   507   o  0:8fa14d15e168 added hgignore
   507   o  0:8fa14d15e168 added hgignore
   508       () draft
   508       () draft
   509 
   509 
   510 This is the right thing to do here. When you have a merge changeset, and one
   510 This is the right thing to do here. When you have a merge changeset, and one
   526 that branch and they prune all their changeset, which will result in this
   526 that branch and they prune all their changeset, which will result in this
   527 case where merge commit becomes orphan with its ancestors pruned up until a
   527 case where merge commit becomes orphan with its ancestors pruned up until a
   528 point where the other parent of merge is the first non-pruned ancestor.
   528 point where the other parent of merge is the first non-pruned ancestor.
   529 
   529 
   530   $ hg evolve -r .
   530   $ hg evolve -r .
   531   move:[28] merged l and x
   531   move:[35] merged l and x
   532   atop:[0] added hgignore
   532   atop:[0] added hgignore
   533   working directory is now at b61ba77b924a
   533   working directory is now at b61ba77b924a
   534 
   534 
   535   $ hg glog
   535   $ hg glog
   536   @  29:b61ba77b924a merged l and x
   536   @  36:b61ba77b924a merged l and x
   537   |   () draft
   537   |   () draft
   538   o  0:8fa14d15e168 added hgignore
   538   o  0:8fa14d15e168 added hgignore
   539       () draft
   539       () draft
   540 
   540 
   541 7) When one parent is pruned without successor and has no parent
   541 7) When one parent is pruned without successor and has no parent
   556   $ hg merge
   556   $ hg merge
   557   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   557   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   558   (branch merge, don't forget to commit)
   558   (branch merge, don't forget to commit)
   559   $ hg ci -m "merge commit"
   559   $ hg ci -m "merge commit"
   560   $ hg glog
   560   $ hg glog
   561   @    31:32beb84b9dbc merge commit
   561   @    38:32beb84b9dbc merge commit
   562   |\    () draft
   562   |\    () draft
   563   | o  30:f3ba8b99bb6f added foo
   563   | o  37:f3ba8b99bb6f added foo
   564   |     () draft
   564   |     () draft
   565   o  0:8fa14d15e168 added hgignore
   565   o  0:8fa14d15e168 added hgignore
   566       () draft
   566       () draft
   567 
   567 
   568   $ hg prune -r f3ba8b99bb6f
   568   $ hg prune -r f3ba8b99bb6f
   569   1 changesets pruned
   569   1 changesets pruned
   570   1 new orphan changesets
   570   1 new unstable changesets
   571 
   571 
   572   $ hg glog
   572   $ hg glog
   573   @    31:32beb84b9dbc merge commit
   573   @    38:32beb84b9dbc merge commit
   574   |\    () draft
   574   |\    () draft
   575   | x  30:f3ba8b99bb6f added foo
   575   | x  37:f3ba8b99bb6f added foo
   576   |     () draft
   576   |     () draft
   577   o  0:8fa14d15e168 added hgignore
   577   o  0:8fa14d15e168 added hgignore
   578       () draft
   578       () draft
   579 
   579 
   580 The current behavior seems to be the correct behavior in the above case. This is
   580 The current behavior seems to be the correct behavior in the above case. This is
   588 
   588 
   589 becomes redundant as the changeset is pruned without successor and we should
   589 becomes redundant as the changeset is pruned without successor and we should
   590 just remove that chain.
   590 just remove that chain.
   591 
   591 
   592   $ hg evolve -r .
   592   $ hg evolve -r .
   593   move:[31] merge commit
   593   move:[38] merge commit
   594   atop:[-1] 
   594   atop:[-1] 
   595   working directory is now at d2a03dd8c951
   595   working directory is now at d2a03dd8c951
   596 
   596 
   597   $ hg glog
   597   $ hg glog
   598   @  32:d2a03dd8c951 merge commit
   598   @  39:d2a03dd8c951 merge commit
   599   |   () draft
   599   |   () draft
   600   o  0:8fa14d15e168 added hgignore
   600   o  0:8fa14d15e168 added hgignore
   601       () draft
   601       () draft