tests/test-evolve-orphan-merge.t
changeset 3530 3f056d3a1f70
parent 3529 d90e0faaec80
child 3544 329056287ef5
equal deleted inserted replaced
3529:d90e0faaec80 3530:3f056d3a1f70
   297   | |   () draft
   297   | |   () draft
   298   o |  9:d0f84b25d4e3 bar to c
   298   o |  9:d0f84b25d4e3 bar to c
   299   |/    () draft
   299   |/    () draft
   300   o  0:8fa14d15e168 added hgignore
   300   o  0:8fa14d15e168 added hgignore
   301       () draft
   301       () draft
       
   302 
       
   303 3) When stabilizing other changesets resulted in orphan merge changeset
       
   304 -----------------------------------------------------------------------
       
   305 
       
   306   $ hg prune -r d0f84b25d4e3 -r 928097d0b5b5 -r dc1948a6eeab
       
   307   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   308   working directory now at 8fa14d15e168
       
   309   3 changesets pruned
       
   310 
       
   311   $ for ch in l m; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
       
   312   $ hg up 8fa14d15e168
       
   313   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
   314   $ for ch in x y; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
       
   315   $ hg glog
       
   316   @  18:863d11043c67 added y
       
   317   |   () draft
       
   318   o  17:3f2247835c1d added x
       
   319   |   () draft
       
   320   | o  16:e44dc179e7f5 added m
       
   321   | |   () draft
       
   322   | o  15:8634bee7bf1e added l
       
   323   |/    () draft
       
   324   o  0:8fa14d15e168 added hgignore
       
   325       () draft
       
   326 
       
   327   $ hg merge
       
   328   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   329   (branch merge, don't forget to commit)
       
   330   $ hg ci -m "merge commit"
       
   331 
       
   332   $ hg up 8634bee7bf1e
       
   333   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
       
   334   $ echo bar > l
       
   335   $ hg amend
       
   336   2 new orphan changesets
       
   337 
       
   338   $ hg glog
       
   339   @  20:fccc9de66799 added l
       
   340   |   () draft
       
   341   | *    19:190763373d8b merge commit
       
   342   | |\    () draft
       
   343   | | o  18:863d11043c67 added y
       
   344   | | |   () draft
       
   345   +---o  17:3f2247835c1d added x
       
   346   | |     () draft
       
   347   | *  16:e44dc179e7f5 added m
       
   348   | |   () draft
       
   349   | x  15:8634bee7bf1e added l
       
   350   |/    () draft
       
   351   o  0:8fa14d15e168 added hgignore
       
   352       () draft
       
   353   $ hg evolve --all
       
   354   move:[16] added m
       
   355   atop:[20] added l
       
   356   move:[19] merge commit
       
   357   atop:[21] added m
       
   358   working directory is now at a446ad3e6700
       
   359 
       
   360   $ hg glog
       
   361   @    22:a446ad3e6700 merge commit
       
   362   |\    () draft
       
   363   | o  21:495d2039f8f1 added m
       
   364   | |   () draft
       
   365   | o  20:fccc9de66799 added l
       
   366   | |   () draft
       
   367   o |  18:863d11043c67 added y
       
   368   | |   () draft
       
   369   o |  17:3f2247835c1d added x
       
   370   |/    () draft
       
   371   o  0:8fa14d15e168 added hgignore
       
   372       () draft
       
   373 
       
   374 4) When both the parents of the merge changeset are obsolete with a succ
       
   375 ------------------------------------------------------------------------
       
   376 
       
   377   $ hg prune -r a446ad3e6700 -r 495d2039f8f1 -r 863d11043c67
       
   378   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
       
   379   working directory now at fccc9de66799
       
   380   3 changesets pruned
       
   381 
       
   382   $ hg glog
       
   383   @  20:fccc9de66799 added l
       
   384   |   () draft
       
   385   | o  17:3f2247835c1d added x
       
   386   |/    () draft
       
   387   o  0:8fa14d15e168 added hgignore
       
   388       () draft
       
   389 
       
   390   $ hg merge
       
   391   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   392   (branch merge, don't forget to commit)
       
   393   $ hg ci -m "merged l and x"
       
   394 
       
   395   $ hg up fccc9de66799
       
   396   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   397   $ echo foobar > l
       
   398   $ hg amend
       
   399   1 new orphan changesets
       
   400   $ hg up 3f2247835c1d
       
   401   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   402   $ echo bar > x
       
   403   $ hg amend
       
   404   $ hg glog
       
   405   @  25:cdf6547da25f added x
       
   406   |   () draft
       
   407   | o  24:3f371171d767 added l
       
   408   |/    () draft
       
   409   | *    23:7b78a9784f3e merged l and x
       
   410   | |\    () draft
       
   411   +---x  20:fccc9de66799 added l
       
   412   | |     () draft
       
   413   | x  17:3f2247835c1d added x
       
   414   |/    () draft
       
   415   o  0:8fa14d15e168 added hgignore
       
   416       () draft
       
   417 
       
   418 XXX: We should handle this case too
       
   419   $ hg evolve --all
       
   420   warning: no support for evolving merge changesets with two obsolete parents yet
       
   421   (Redo the merge (7b78a9784f3e) and use `hg prune <old> --succ <new>` to obsolete the old one)