tests/test-rebase-named-branches.t
changeset 35385 469b06b4c3ca
parent 34661 eb586ed5d8ce
child 35393 4441705b7111
equal deleted inserted replaced
35384:b9bdee046cc2 35385:469b06b4c3ca
     4   > 
     4   > 
     5   > [phases]
     5   > [phases]
     6   > publish=False
     6   > publish=False
     7   > 
     7   > 
     8   > [alias]
     8   > [alias]
     9   > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
     9   > tglog = log -G --template "{rev}: {node|short} '{desc}' {branches}\n"
    10   > EOF
    10   > EOF
    11 
    11 
    12   $ hg init a
    12   $ hg init a
    13   $ cd a
    13   $ cd a
    14   $ hg unbundle "$TESTDIR/bundles/rebase.hg"
    14   $ hg unbundle "$TESTDIR/bundles/rebase.hg"
    43   $ hg add x
    43   $ hg add x
    44 
    44 
    45   $ hg ci -m 'dev-two named branch'
    45   $ hg ci -m 'dev-two named branch'
    46 
    46 
    47   $ hg tglog
    47   $ hg tglog
    48   @  9: 'dev-two named branch' dev-two
    48   @  9: cb039b7cae8e 'dev-two named branch' dev-two
    49   |
    49   |
    50   | o  8: 'dev-one named branch' dev-one
    50   | o  8: 643fc9128048 'dev-one named branch' dev-one
    51   | |
    51   | |
    52   o |  7: 'H'
    52   o |  7: 02de42196ebe 'H'
    53   | |
    53   | |
    54   +---o  6: 'G'
    54   +---o  6: eea13746799a 'G'
    55   | | |
    55   | | |
    56   o | |  5: 'F'
    56   o | |  5: 24b6387c8c8c 'F'
    57   | | |
    57   | | |
    58   +---o  4: 'E'
    58   +---o  4: 9520eea781bc 'E'
    59   | |
    59   | |
    60   | o  3: 'D'
    60   | o  3: 32af7686d403 'D'
    61   | |
    61   | |
    62   | o  2: 'C'
    62   | o  2: 5fddd98957c8 'C'
    63   | |
    63   | |
    64   | o  1: 'B'
    64   | o  1: 42ccdea3bb16 'B'
    65   |/
    65   |/
    66   o  0: 'A'
    66   o  0: cd010b8cd998 'A'
    67   
    67   
    68 
    68 
    69 Branch name containing a dash (issue3181)
    69 Branch name containing a dash (issue3181)
    70 
    70 
    71   $ hg rebase -b dev-two -d dev-one --keepbranches
    71   $ hg rebase -b dev-two -d dev-one --keepbranches
    74   rebasing 7:02de42196ebe "H"
    74   rebasing 7:02de42196ebe "H"
    75   rebasing 9:cb039b7cae8e "dev-two named branch" (tip)
    75   rebasing 9:cb039b7cae8e "dev-two named branch" (tip)
    76   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/24b6387c8c8c-24cb8001-rebase.hg (glob)
    76   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/24b6387c8c8c-24cb8001-rebase.hg (glob)
    77 
    77 
    78   $ hg tglog
    78   $ hg tglog
    79   @  9: 'dev-two named branch' dev-two
    79   @  9: 9e70cd31750f 'dev-two named branch' dev-two
    80   |
    80   |
    81   o  8: 'H'
    81   o  8: 31d0e4ba75e6 'H'
    82   |
    82   |
    83   | o  7: 'G'
    83   | o  7: 4b988a958030 'G'
    84   |/|
    84   |/|
    85   o |  6: 'F'
    85   o |  6: 24de4aff8e28 'F'
    86   | |
    86   | |
    87   o |  5: 'dev-one named branch' dev-one
    87   o |  5: 643fc9128048 'dev-one named branch' dev-one
    88   | |
    88   | |
    89   | o  4: 'E'
    89   | o  4: 9520eea781bc 'E'
    90   | |
    90   | |
    91   o |  3: 'D'
    91   o |  3: 32af7686d403 'D'
    92   | |
    92   | |
    93   o |  2: 'C'
    93   o |  2: 5fddd98957c8 'C'
    94   | |
    94   | |
    95   o |  1: 'B'
    95   o |  1: 42ccdea3bb16 'B'
    96   |/
    96   |/
    97   o  0: 'A'
    97   o  0: cd010b8cd998 'A'
    98   
    98   
    99   $ hg rebase -s dev-one -d 0 --keepbranches
    99   $ hg rebase -s dev-one -d 0 --keepbranches
   100   rebasing 5:643fc9128048 "dev-one named branch"
   100   rebasing 5:643fc9128048 "dev-one named branch"
   101   rebasing 6:24de4aff8e28 "F"
   101   rebasing 6:24de4aff8e28 "F"
   102   rebasing 7:4b988a958030 "G"
   102   rebasing 7:4b988a958030 "G"
   103   rebasing 8:31d0e4ba75e6 "H"
   103   rebasing 8:31d0e4ba75e6 "H"
   104   rebasing 9:9e70cd31750f "dev-two named branch" (tip)
   104   rebasing 9:9e70cd31750f "dev-two named branch" (tip)
   105   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-c4ee9ef5-rebase.hg (glob)
   105   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-c4ee9ef5-rebase.hg (glob)
   106 
   106 
   107   $ hg tglog
   107   $ hg tglog
   108   @  9: 'dev-two named branch' dev-two
   108   @  9: 59c2e59309fe 'dev-two named branch' dev-two
   109   |
   109   |
   110   o  8: 'H'
   110   o  8: 904590360559 'H'
   111   |
   111   |
   112   | o  7: 'G'
   112   | o  7: 1a1e6f72ec38 'G'
   113   |/|
   113   |/|
   114   o |  6: 'F'
   114   o |  6: 42aa3cf0fa7a 'F'
   115   | |
   115   | |
   116   o |  5: 'dev-one named branch' dev-one
   116   o |  5: bc8139ee757c 'dev-one named branch' dev-one
   117   | |
   117   | |
   118   | o  4: 'E'
   118   | o  4: 9520eea781bc 'E'
   119   |/
   119   |/
   120   | o  3: 'D'
   120   | o  3: 32af7686d403 'D'
   121   | |
   121   | |
   122   | o  2: 'C'
   122   | o  2: 5fddd98957c8 'C'
   123   | |
   123   | |
   124   | o  1: 'B'
   124   | o  1: 42ccdea3bb16 'B'
   125   |/
   125   |/
   126   o  0: 'A'
   126   o  0: cd010b8cd998 'A'
   127   
   127   
   128   $ hg update 3
   128   $ hg update 3
   129   3 files updated, 0 files merged, 3 files removed, 0 files unresolved
   129   3 files updated, 0 files merged, 3 files removed, 0 files unresolved
   130   $ hg branch -f dev-one
   130   $ hg branch -f dev-one
   131   marked working directory as branch dev-one
   131   marked working directory as branch dev-one
   132   $ hg ci -m 'dev-one named branch'
   132   $ hg ci -m 'dev-one named branch'
   133   created new head
   133   created new head
   134 
   134 
   135   $ hg tglog
   135   $ hg tglog
   136   @  10: 'dev-one named branch' dev-one
   136   @  10: 643fc9128048 'dev-one named branch' dev-one
   137   |
   137   |
   138   | o  9: 'dev-two named branch' dev-two
   138   | o  9: 59c2e59309fe 'dev-two named branch' dev-two
   139   | |
   139   | |
   140   | o  8: 'H'
   140   | o  8: 904590360559 'H'
   141   | |
   141   | |
   142   | | o  7: 'G'
   142   | | o  7: 1a1e6f72ec38 'G'
   143   | |/|
   143   | |/|
   144   | o |  6: 'F'
   144   | o |  6: 42aa3cf0fa7a 'F'
   145   | | |
   145   | | |
   146   | o |  5: 'dev-one named branch' dev-one
   146   | o |  5: bc8139ee757c 'dev-one named branch' dev-one
   147   | | |
   147   | | |
   148   | | o  4: 'E'
   148   | | o  4: 9520eea781bc 'E'
   149   | |/
   149   | |/
   150   o |  3: 'D'
   150   o |  3: 32af7686d403 'D'
   151   | |
   151   | |
   152   o |  2: 'C'
   152   o |  2: 5fddd98957c8 'C'
   153   | |
   153   | |
   154   o |  1: 'B'
   154   o |  1: 42ccdea3bb16 'B'
   155   |/
   155   |/
   156   o  0: 'A'
   156   o  0: cd010b8cd998 'A'
   157   
   157   
   158   $ hg rebase -b 'max(branch("dev-two"))' -d dev-one --keepbranches
   158   $ hg rebase -b 'max(branch("dev-two"))' -d dev-one --keepbranches
   159   rebasing 5:bc8139ee757c "dev-one named branch"
   159   rebasing 5:bc8139ee757c "dev-one named branch"
   160   note: rebase of 5:bc8139ee757c created no changes to commit
   160   note: rebase of 5:bc8139ee757c created no changes to commit
   161   rebasing 6:42aa3cf0fa7a "F"
   161   rebasing 6:42aa3cf0fa7a "F"
   163   rebasing 8:904590360559 "H"
   163   rebasing 8:904590360559 "H"
   164   rebasing 9:59c2e59309fe "dev-two named branch"
   164   rebasing 9:59c2e59309fe "dev-two named branch"
   165   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/bc8139ee757c-f11c1080-rebase.hg (glob)
   165   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/bc8139ee757c-f11c1080-rebase.hg (glob)
   166 
   166 
   167   $ hg tglog
   167   $ hg tglog
   168   o  9: 'dev-two named branch' dev-two
   168   o  9: 71325f8bc082 'dev-two named branch' dev-two
   169   |
   169   |
   170   o  8: 'H'
   170   o  8: 12b2bc666e20 'H'
   171   |
   171   |
   172   | o  7: 'G'
   172   | o  7: 549f007a9f5f 'G'
   173   |/|
   173   |/|
   174   o |  6: 'F'
   174   o |  6: 679f28760620 'F'
   175   | |
   175   | |
   176   @ |  5: 'dev-one named branch' dev-one
   176   @ |  5: 643fc9128048 'dev-one named branch' dev-one
   177   | |
   177   | |
   178   | o  4: 'E'
   178   | o  4: 9520eea781bc 'E'
   179   | |
   179   | |
   180   o |  3: 'D'
   180   o |  3: 32af7686d403 'D'
   181   | |
   181   | |
   182   o |  2: 'C'
   182   o |  2: 5fddd98957c8 'C'
   183   | |
   183   | |
   184   o |  1: 'B'
   184   o |  1: 42ccdea3bb16 'B'
   185   |/
   185   |/
   186   o  0: 'A'
   186   o  0: cd010b8cd998 'A'
   187   
   187   
   188   $ hg rebase -s 'max(branch("dev-one"))' -d 0 --keepbranches
   188   $ hg rebase -s 'max(branch("dev-one"))' -d 0 --keepbranches
   189   rebasing 5:643fc9128048 "dev-one named branch"
   189   rebasing 5:643fc9128048 "dev-one named branch"
   190   rebasing 6:679f28760620 "F"
   190   rebasing 6:679f28760620 "F"
   191   rebasing 7:549f007a9f5f "G"
   191   rebasing 7:549f007a9f5f "G"
   192   rebasing 8:12b2bc666e20 "H"
   192   rebasing 8:12b2bc666e20 "H"
   193   rebasing 9:71325f8bc082 "dev-two named branch" (tip)
   193   rebasing 9:71325f8bc082 "dev-two named branch" (tip)
   194   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-6cdd1a52-rebase.hg (glob)
   194   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-6cdd1a52-rebase.hg (glob)
   195 
   195 
   196   $ hg tglog
   196   $ hg tglog
   197   o  9: 'dev-two named branch' dev-two
   197   o  9: 3944801ae4ea 'dev-two named branch' dev-two
   198   |
   198   |
   199   o  8: 'H'
   199   o  8: 8e279d293175 'H'
   200   |
   200   |
   201   | o  7: 'G'
   201   | o  7: aeefee77ab01 'G'
   202   |/|
   202   |/|
   203   o |  6: 'F'
   203   o |  6: e908b85f3729 'F'
   204   | |
   204   | |
   205   @ |  5: 'dev-one named branch' dev-one
   205   @ |  5: bc8139ee757c 'dev-one named branch' dev-one
   206   | |
   206   | |
   207   | o  4: 'E'
   207   | o  4: 9520eea781bc 'E'
   208   |/
   208   |/
   209   | o  3: 'D'
   209   | o  3: 32af7686d403 'D'
   210   | |
   210   | |
   211   | o  2: 'C'
   211   | o  2: 5fddd98957c8 'C'
   212   | |
   212   | |
   213   | o  1: 'B'
   213   | o  1: 42ccdea3bb16 'B'
   214   |/
   214   |/
   215   o  0: 'A'
   215   o  0: cd010b8cd998 'A'
   216   
   216   
   217   $ hg up -r 0 > /dev/null
   217   $ hg up -r 0 > /dev/null
   218 
   218 
   219 Rebasing descendant onto ancestor across different named branches
   219 Rebasing descendant onto ancestor across different named branches
   220 
   220 
   223   rebasing 2:5fddd98957c8 "C"
   223   rebasing 2:5fddd98957c8 "C"
   224   rebasing 3:32af7686d403 "D"
   224   rebasing 3:32af7686d403 "D"
   225   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
   225   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
   226 
   226 
   227   $ hg tglog
   227   $ hg tglog
   228   o  9: 'D'
   228   o  9: e9f862ce8bad 'D'
   229   |
   229   |
   230   o  8: 'C'
   230   o  8: a0d543090fa4 'C'
   231   |
   231   |
   232   o  7: 'B'
   232   o  7: 3bdb949809d9 'B'
   233   |
   233   |
   234   o  6: 'dev-two named branch' dev-two
   234   o  6: 3944801ae4ea 'dev-two named branch' dev-two
   235   |
   235   |
   236   o  5: 'H'
   236   o  5: 8e279d293175 'H'
   237   |
   237   |
   238   | o  4: 'G'
   238   | o  4: aeefee77ab01 'G'
   239   |/|
   239   |/|
   240   o |  3: 'F'
   240   o |  3: e908b85f3729 'F'
   241   | |
   241   | |
   242   o |  2: 'dev-one named branch' dev-one
   242   o |  2: bc8139ee757c 'dev-one named branch' dev-one
   243   | |
   243   | |
   244   | o  1: 'E'
   244   | o  1: 9520eea781bc 'E'
   245   |/
   245   |/
   246   @  0: 'A'
   246   @  0: cd010b8cd998 'A'
   247   
   247   
   248   $ hg rebase -s 5 -d 6
   248   $ hg rebase -s 5 -d 6
   249   abort: source and destination form a cycle
   249   abort: source and destination form a cycle
   250   [255]
   250   [255]
   251 
   251 
   255   rebasing 8:a0d543090fa4 "C"
   255   rebasing 8:a0d543090fa4 "C"
   256   rebasing 9:e9f862ce8bad "D" (tip)
   256   rebasing 9:e9f862ce8bad "D" (tip)
   257   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/3944801ae4ea-fb46ed74-rebase.hg (glob)
   257   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/3944801ae4ea-fb46ed74-rebase.hg (glob)
   258 
   258 
   259   $ hg tglog
   259   $ hg tglog
   260   o  9: 'D'
   260   o  9: e522577ccdbd 'D'
   261   |
   261   |
   262   o  8: 'C'
   262   o  8: 810110211f50 'C'
   263   |
   263   |
   264   o  7: 'B'
   264   o  7: 160b0930ccc6 'B'
   265   |
   265   |
   266   o  6: 'dev-two named branch'
   266   o  6: c57724c84928 'dev-two named branch'
   267   |
   267   |
   268   o  5: 'H'
   268   o  5: 8e279d293175 'H'
   269   |
   269   |
   270   | o  4: 'G'
   270   | o  4: aeefee77ab01 'G'
   271   |/|
   271   |/|
   272   o |  3: 'F'
   272   o |  3: e908b85f3729 'F'
   273   | |
   273   | |
   274   o |  2: 'dev-one named branch' dev-one
   274   o |  2: bc8139ee757c 'dev-one named branch' dev-one
   275   | |
   275   | |
   276   | o  1: 'E'
   276   | o  1: 9520eea781bc 'E'
   277   |/
   277   |/
   278   @  0: 'A'
   278   @  0: cd010b8cd998 'A'
   279   
   279   
   280 
   280 
   281 Reopen branch by rebase
   281 Reopen branch by rebase
   282 
   282 
   283   $ hg up -qr3
   283   $ hg up -qr3
   312   $ hg up -qr -3
   312   $ hg up -qr -3
   313   $ hg branch -q c
   313   $ hg branch -q c
   314   $ hg ci -m 'c1'
   314   $ hg ci -m 'c1'
   315 
   315 
   316   $ hg tglog
   316   $ hg tglog
   317   @  3: 'c1' c
   317   @  3: c062e3ecd6c6 'c1' c
   318   |
   318   |
   319   | o  2: 'b2' b
   319   | o  2: 792845bb77ee 'b2' b
   320   |/
   320   |/
   321   | o  1: 'b1' b
   321   | o  1: 40039acb7ca5 'b1' b
   322   |/
   322   |/
   323   o  0: '0'
   323   o  0: d681519c3ea7 '0'
   324   
   324   
   325   $ hg clone -q . ../case2
   325   $ hg clone -q . ../case2
   326 
   326 
   327 rebase 'b2' to another lower branch head
   327 rebase 'b2' to another lower branch head
   328 
   328 
   330   $ hg rebase
   330   $ hg rebase
   331   rebasing 2:792845bb77ee "b2"
   331   rebasing 2:792845bb77ee "b2"
   332   note: rebase of 2:792845bb77ee created no changes to commit
   332   note: rebase of 2:792845bb77ee created no changes to commit
   333   saved backup bundle to $TESTTMP/case1/.hg/strip-backup/792845bb77ee-627120ee-rebase.hg (glob)
   333   saved backup bundle to $TESTTMP/case1/.hg/strip-backup/792845bb77ee-627120ee-rebase.hg (glob)
   334   $ hg tglog
   334   $ hg tglog
   335   o  2: 'c1' c
   335   o  2: c062e3ecd6c6 'c1' c
   336   |
   336   |
   337   | @  1: 'b1' b
   337   | @  1: 40039acb7ca5 'b1' b
   338   |/
   338   |/
   339   o  0: '0'
   339   o  0: d681519c3ea7 '0'
   340   
   340   
   341 
   341 
   342 rebase 'b1' on top of the tip of the branch ('b2') - ignoring the tip branch ('c1')
   342 rebase 'b1' on top of the tip of the branch ('b2') - ignoring the tip branch ('c1')
   343 
   343 
   344   $ cd ../case2
   344   $ cd ../case2
   345   $ hg up -qr 1
   345   $ hg up -qr 1
   346   $ hg rebase
   346   $ hg rebase
   347   rebasing 1:40039acb7ca5 "b1"
   347   rebasing 1:40039acb7ca5 "b1"
   348   saved backup bundle to $TESTTMP/case2/.hg/strip-backup/40039acb7ca5-342b72d1-rebase.hg (glob)
   348   saved backup bundle to $TESTTMP/case2/.hg/strip-backup/40039acb7ca5-342b72d1-rebase.hg (glob)
   349   $ hg tglog
   349   $ hg tglog
   350   @  3: 'b1' b
   350   @  3: 76abc1c6f8c7 'b1' b
   351   |
   351   |
   352   | o  2: 'c1' c
   352   | o  2: c062e3ecd6c6 'c1' c
   353   | |
   353   | |
   354   o |  1: 'b2' b
   354   o |  1: 792845bb77ee 'b2' b
   355   |/
   355   |/
   356   o  0: '0'
   356   o  0: d681519c3ea7 '0'
   357   
   357   
   358 
   358 
   359 rebase 'c1' to the branch head 'c2' that is closed
   359 rebase 'c1' to the branch head 'c2' that is closed
   360 
   360 
   361   $ hg branch -qf c
   361   $ hg branch -qf c
   362   $ hg ci -qm 'c2 closed' --close
   362   $ hg ci -qm 'c2 closed' --close
   363   $ hg up -qr 2
   363   $ hg up -qr 2
   364   $ hg tglog
   364   $ hg tglog
   365   _  4: 'c2 closed' c
   365   _  4: 8427af5d86f2 'c2 closed' c
   366   |
   366   |
   367   o  3: 'b1' b
   367   o  3: 76abc1c6f8c7 'b1' b
   368   |
   368   |
   369   | @  2: 'c1' c
   369   | @  2: c062e3ecd6c6 'c1' c
   370   | |
   370   | |
   371   o |  1: 'b2' b
   371   o |  1: 792845bb77ee 'b2' b
   372   |/
   372   |/
   373   o  0: '0'
   373   o  0: d681519c3ea7 '0'
   374   
   374   
   375   $ hg rebase
   375   $ hg rebase
   376   abort: branch 'c' has one head - please rebase to an explicit rev
   376   abort: branch 'c' has one head - please rebase to an explicit rev
   377   (run 'hg heads' to see all heads)
   377   (run 'hg heads' to see all heads)
   378   [255]
   378   [255]
   379   $ hg tglog
   379   $ hg tglog
   380   _  4: 'c2 closed' c
   380   _  4: 8427af5d86f2 'c2 closed' c
   381   |
   381   |
   382   o  3: 'b1' b
   382   o  3: 76abc1c6f8c7 'b1' b
   383   |
   383   |
   384   | @  2: 'c1' c
   384   | @  2: c062e3ecd6c6 'c1' c
   385   | |
   385   | |
   386   o |  1: 'b2' b
   386   o |  1: 792845bb77ee 'b2' b
   387   |/
   387   |/
   388   o  0: '0'
   388   o  0: d681519c3ea7 '0'
   389   
   389   
   390 
   390 
   391   $ hg up -cr 1
   391   $ hg up -cr 1
   392   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   392   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   393   $ hg branch x
   393   $ hg branch x
   396   rebasing 3:76abc1c6f8c7 "b1"
   396   rebasing 3:76abc1c6f8c7 "b1"
   397   rebasing 4:8427af5d86f2 "c2 closed" (tip)
   397   rebasing 4:8427af5d86f2 "c2 closed" (tip)
   398   note: rebase of 4:8427af5d86f2 created no changes to commit
   398   note: rebase of 4:8427af5d86f2 created no changes to commit
   399   saved backup bundle to $TESTTMP/case2/.hg/strip-backup/76abc1c6f8c7-cd698d13-rebase.hg (glob)
   399   saved backup bundle to $TESTTMP/case2/.hg/strip-backup/76abc1c6f8c7-cd698d13-rebase.hg (glob)
   400   $ hg tglog
   400   $ hg tglog
   401   o  3: 'b1' x
   401   o  3: 117b0ed08075 'b1' x
   402   |
   402   |
   403   | o  2: 'c1' c
   403   | o  2: c062e3ecd6c6 'c1' c
   404   | |
   404   | |
   405   @ |  1: 'b2' b
   405   @ |  1: 792845bb77ee 'b2' b
   406   |/
   406   |/
   407   o  0: '0'
   407   o  0: d681519c3ea7 '0'
   408   
   408   
   409 
   409 
   410   $ cd ..
   410   $ cd ..