tests/test-rebase-scenario-global.t
changeset 15270 6cb6064f1d50
parent 15267 3bfdfefea2fc
child 15447 9910f60a37ee
equal deleted inserted replaced
15269:b12362ab13e7 15270:6cb6064f1d50
   267   |/
   267   |/
   268   | o  1: 'B'
   268   | o  1: 'B'
   269   |/
   269   |/
   270   o  0: 'A'
   270   o  0: 'A'
   271   
   271   
   272 
   272   $ cd ..
       
   273 
       
   274 Test for revset
       
   275 
       
   276 We need a bit different graph
       
   277 All destination are B
       
   278 
       
   279   $ hg init ah
       
   280   $ cd ah
       
   281   $ hg unbundle $TESTDIR/bundles/rebase-revset.hg
       
   282   adding changesets
       
   283   adding manifests
       
   284   adding file changes
       
   285   added 9 changesets with 9 changes to 9 files (+2 heads)
       
   286   (run 'hg heads' to see heads, 'hg merge' to merge)
       
   287   $ hg tglog
       
   288   o  8: 'I'
       
   289   |
       
   290   o  7: 'H'
       
   291   |
       
   292   o  6: 'G'
       
   293   |
       
   294   | o  5: 'F'
       
   295   | |
       
   296   | o  4: 'E'
       
   297   |/
       
   298   o  3: 'D'
       
   299   |
       
   300   o  2: 'C'
       
   301   |
       
   302   | o  1: 'B'
       
   303   |/
       
   304   o  0: 'A'
       
   305   
       
   306   $ cd ..
       
   307 
       
   308 
       
   309 Simple case with keep:
       
   310 
       
   311 Source on have two descendant heads but ask for one
       
   312 
       
   313   $ hg clone -q -u . ah ah1
       
   314   $ cd ah1
       
   315   $ hg rebase -r '2::8' -d 1
       
   316   abort: can't remove original changesets with unrebased descendants
       
   317   (use --keep to keep original changesets)
       
   318   [255]
       
   319   $ hg rebase -r '2::8' -d 1 --keep
       
   320   $ hg tglog
       
   321   @  13: 'I'
       
   322   |
       
   323   o  12: 'H'
       
   324   |
       
   325   o  11: 'G'
       
   326   |
       
   327   o  10: 'D'
       
   328   |
       
   329   o  9: 'C'
       
   330   |
       
   331   | o  8: 'I'
       
   332   | |
       
   333   | o  7: 'H'
       
   334   | |
       
   335   | o  6: 'G'
       
   336   | |
       
   337   | | o  5: 'F'
       
   338   | | |
       
   339   | | o  4: 'E'
       
   340   | |/
       
   341   | o  3: 'D'
       
   342   | |
       
   343   | o  2: 'C'
       
   344   | |
       
   345   o |  1: 'B'
       
   346   |/
       
   347   o  0: 'A'
       
   348   
       
   349 
       
   350   $ cd ..
       
   351 
       
   352 Base on have one descendant heads we ask for but common ancestor have two
       
   353 
       
   354   $ hg clone -q -u . ah ah2
       
   355   $ cd ah2
       
   356   $ hg rebase -r '3::8' -d 1
       
   357   abort: can't remove original changesets with unrebased descendants
       
   358   (use --keep to keep original changesets)
       
   359   [255]
       
   360   $ hg rebase -r '3::8' -d 1 --keep
       
   361   $ hg tglog
       
   362   @  12: 'I'
       
   363   |
       
   364   o  11: 'H'
       
   365   |
       
   366   o  10: 'G'
       
   367   |
       
   368   o    9: 'D'
       
   369   |\
       
   370   | | o  8: 'I'
       
   371   | | |
       
   372   | | o  7: 'H'
       
   373   | | |
       
   374   | | o  6: 'G'
       
   375   | | |
       
   376   | | | o  5: 'F'
       
   377   | | | |
       
   378   | | | o  4: 'E'
       
   379   | | |/
       
   380   | | o  3: 'D'
       
   381   | |/
       
   382   | o  2: 'C'
       
   383   | |
       
   384   o |  1: 'B'
       
   385   |/
       
   386   o  0: 'A'
       
   387   
       
   388 
       
   389   $ cd ..
       
   390 
       
   391 rebase subset
       
   392 
       
   393   $ hg clone -q -u . ah ah3
       
   394   $ cd ah3
       
   395   $ hg rebase -r '3::7' -d 1
       
   396   abort: can't remove original changesets with unrebased descendants
       
   397   (use --keep to keep original changesets)
       
   398   [255]
       
   399   $ hg rebase -r '3::7' -d 1 --keep
       
   400   $ hg tglog
       
   401   @  11: 'H'
       
   402   |
       
   403   o  10: 'G'
       
   404   |
       
   405   o    9: 'D'
       
   406   |\
       
   407   | | o  8: 'I'
       
   408   | | |
       
   409   | | o  7: 'H'
       
   410   | | |
       
   411   | | o  6: 'G'
       
   412   | | |
       
   413   | | | o  5: 'F'
       
   414   | | | |
       
   415   | | | o  4: 'E'
       
   416   | | |/
       
   417   | | o  3: 'D'
       
   418   | |/
       
   419   | o  2: 'C'
       
   420   | |
       
   421   o |  1: 'B'
       
   422   |/
       
   423   o  0: 'A'
       
   424   
       
   425 
       
   426   $ cd ..
       
   427 
       
   428 rebase subset with multiple head
       
   429 
       
   430   $ hg clone -q -u . ah ah4
       
   431   $ cd ah4
       
   432   $ hg rebase -r '3::(7+5)' -d 1
       
   433   abort: can't remove original changesets with unrebased descendants
       
   434   (use --keep to keep original changesets)
       
   435   [255]
       
   436   $ hg rebase -r '3::(7+5)' -d 1 --keep
       
   437   $ hg tglog
       
   438   @  13: 'H'
       
   439   |
       
   440   o  12: 'G'
       
   441   |
       
   442   | o  11: 'F'
       
   443   | |
       
   444   | o  10: 'E'
       
   445   |/
       
   446   o    9: 'D'
       
   447   |\
       
   448   | | o  8: 'I'
       
   449   | | |
       
   450   | | o  7: 'H'
       
   451   | | |
       
   452   | | o  6: 'G'
       
   453   | | |
       
   454   | | | o  5: 'F'
       
   455   | | | |
       
   456   | | | o  4: 'E'
       
   457   | | |/
       
   458   | | o  3: 'D'
       
   459   | |/
       
   460   | o  2: 'C'
       
   461   | |
       
   462   o |  1: 'B'
       
   463   |/
       
   464   o  0: 'A'
       
   465   
       
   466 
       
   467   $ cd ..
       
   468 
       
   469 More advanced tests
       
   470 
       
   471 rebase on ancestor with revset
       
   472 
       
   473   $ hg clone -q -u . ah ah5
       
   474   $ cd ah5
       
   475   $ hg rebase -r '6::' -d 2
       
   476   saved backup bundle to $TESTTMP/ah5/.hg/strip-backup/3d8a618087a7-backup.hg
       
   477   $ hg tglog
       
   478   @  8: 'I'
       
   479   |
       
   480   o  7: 'H'
       
   481   |
       
   482   o  6: 'G'
       
   483   |
       
   484   | o  5: 'F'
       
   485   | |
       
   486   | o  4: 'E'
       
   487   | |
       
   488   | o  3: 'D'
       
   489   |/
       
   490   o  2: 'C'
       
   491   |
       
   492   | o  1: 'B'
       
   493   |/
       
   494   o  0: 'A'
       
   495   
       
   496   $ cd ..
       
   497 
       
   498 
       
   499 rebase with multiple root.
       
   500 We rebase E and G on B
       
   501 We would expect heads are I, F if it was supported
       
   502 
       
   503   $ hg clone -q -u . ah ah6
       
   504   $ cd ah6
       
   505   $ hg rebase -r '(4+6)::' -d 1
       
   506   abort: can't rebase multiple roots
       
   507   [255]
       
   508   $ cd ..