tests/test-rebase-collapse.t
changeset 35385 469b06b4c3ca
parent 34661 eb586ed5d8ce
child 35393 4441705b7111
equal deleted inserted replaced
35384:b9bdee046cc2 35385:469b06b4c3ca
     5   > 
     5   > 
     6   > [phases]
     6   > [phases]
     7   > publish=False
     7   > publish=False
     8   > 
     8   > 
     9   > [alias]
     9   > [alias]
    10   > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
    10   > tglog = log -G --template "{rev}: {node|short} '{desc}' {branches}\n"
    11   > tglogp = log -G --template "{rev}:{phase} '{desc}' {branches}\n"
    11   > tglogp = log -G --template "{rev}: {node|short} {phase} '{desc}' {branches}\n"
    12   > EOF
    12   > EOF
    13 
    13 
    14 Create repo a:
    14 Create repo a:
    15 
    15 
    16   $ hg init a
    16   $ hg init a
    24   (run 'hg heads' to see heads, 'hg merge' to merge)
    24   (run 'hg heads' to see heads, 'hg merge' to merge)
    25   $ hg up tip
    25   $ hg up tip
    26   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
    26   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
    27 
    27 
    28   $ hg tglog
    28   $ hg tglog
    29   @  7: 'H'
    29   @  7: 02de42196ebe 'H'
    30   |
    30   |
    31   | o  6: 'G'
    31   | o  6: eea13746799a 'G'
    32   |/|
    32   |/|
    33   o |  5: 'F'
    33   o |  5: 24b6387c8c8c 'F'
    34   | |
    34   | |
    35   | o  4: 'E'
    35   | o  4: 9520eea781bc 'E'
    36   |/
    36   |/
    37   | o  3: 'D'
    37   | o  3: 32af7686d403 'D'
    38   | |
    38   | |
    39   | o  2: 'C'
    39   | o  2: 5fddd98957c8 'C'
    40   | |
    40   | |
    41   | o  1: 'B'
    41   | o  1: 42ccdea3bb16 'B'
    42   |/
    42   |/
    43   o  0: 'A'
    43   o  0: cd010b8cd998 'A'
    44   
    44   
    45   $ cd ..
    45   $ cd ..
    46 
    46 
    47 
    47 
    48 Rebasing B onto H and collapsing changesets with different phases:
    48 Rebasing B onto H and collapsing changesets with different phases:
    80   HG: added D
    80   HG: added D
    81   ====
    81   ====
    82   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
    82   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
    83 
    83 
    84   $ hg tglogp
    84   $ hg tglogp
    85   @  5:secret 'Collapsed revision
    85   @  5: 30882080ba93 secret 'Collapsed revision
    86   |  * B
    86   |  * B
    87   |  * C
    87   |  * C
    88   |  * D
    88   |  * D
    89   |
    89   |
    90   |
    90   |
    91   |  edited manually'
    91   |  edited manually'
    92   o  4:draft 'H'
    92   o  4: 02de42196ebe draft 'H'
    93   |
    93   |
    94   | o  3:draft 'G'
    94   | o  3: eea13746799a draft 'G'
    95   |/|
    95   |/|
    96   o |  2:draft 'F'
    96   o |  2: 24b6387c8c8c draft 'F'
    97   | |
    97   | |
    98   | o  1:draft 'E'
    98   | o  1: 9520eea781bc draft 'E'
    99   |/
    99   |/
   100   o  0:draft 'A'
   100   o  0: cd010b8cd998 draft 'A'
   101   
   101   
   102   $ hg manifest --rev tip
   102   $ hg manifest --rev tip
   103   A
   103   A
   104   B
   104   B
   105   C
   105   C
   120   rebasing 4:9520eea781bc "E"
   120   rebasing 4:9520eea781bc "E"
   121   rebasing 6:eea13746799a "G"
   121   rebasing 6:eea13746799a "G"
   122   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/9520eea781bc-fcd8edd4-rebase.hg (glob)
   122   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/9520eea781bc-fcd8edd4-rebase.hg (glob)
   123 
   123 
   124   $ hg tglog
   124   $ hg tglog
   125   o  6: 'Collapsed revision
   125   o  6: 7dd333a2d1e4 'Collapsed revision
   126   |  * E
   126   |  * E
   127   |  * G'
   127   |  * G'
   128   @  5: 'H'
   128   @  5: 02de42196ebe 'H'
   129   |
   129   |
   130   o  4: 'F'
   130   o  4: 24b6387c8c8c 'F'
   131   |
   131   |
   132   | o  3: 'D'
   132   | o  3: 32af7686d403 'D'
   133   | |
   133   | |
   134   | o  2: 'C'
   134   | o  2: 5fddd98957c8 'C'
   135   | |
   135   | |
   136   | o  1: 'B'
   136   | o  1: 42ccdea3bb16 'B'
   137   |/
   137   |/
   138   o  0: 'A'
   138   o  0: cd010b8cd998 'A'
   139   
   139   
   140   $ hg manifest --rev tip
   140   $ hg manifest --rev tip
   141   A
   141   A
   142   E
   142   E
   143   F
   143   F
   163   rebasing 6:eea13746799a "G"
   163   rebasing 6:eea13746799a "G"
   164   HGEDITFORM=rebase.collapse
   164   HGEDITFORM=rebase.collapse
   165   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-fcd8edd4-rebase.hg (glob)
   165   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-fcd8edd4-rebase.hg (glob)
   166 
   166 
   167   $ hg tglog
   167   $ hg tglog
   168   o  6: 'custom message'
   168   o  6: 38ed6a6b026b 'custom message'
   169   |
   169   |
   170   @  5: 'H'
   170   @  5: 02de42196ebe 'H'
   171   |
   171   |
   172   o  4: 'F'
   172   o  4: 24b6387c8c8c 'F'
   173   |
   173   |
   174   | o  3: 'D'
   174   | o  3: 32af7686d403 'D'
   175   | |
   175   | |
   176   | o  2: 'C'
   176   | o  2: 5fddd98957c8 'C'
   177   | |
   177   | |
   178   | o  1: 'B'
   178   | o  1: 42ccdea3bb16 'B'
   179   |/
   179   |/
   180   o  0: 'A'
   180   o  0: cd010b8cd998 'A'
   181   
   181   
   182   $ hg manifest --rev tip
   182   $ hg manifest --rev tip
   183   A
   183   A
   184   E
   184   E
   185   F
   185   F
   236   $ hg ci -Am H
   236   $ hg ci -Am H
   237   adding H
   237   adding H
   238   created new head
   238   created new head
   239 
   239 
   240   $ hg tglog
   240   $ hg tglog
   241   @  7: 'H'
   241   @  7: c65502d41787 'H'
   242   |
   242   |
   243   | o    6: 'G'
   243   | o    6: c772a8b2dc17 'G'
   244   | |\
   244   | |\
   245   | | o  5: 'F'
   245   | | o  5: 7f219660301f 'F'
   246   | | |
   246   | | |
   247   | | o  4: 'E'
   247   | | o  4: 8a5212ebc852 'E'
   248   | | |
   248   | | |
   249   | o |  3: 'D'
   249   | o |  3: 2870ad076e54 'D'
   250   | |\|
   250   | |\|
   251   | o |  2: 'C'
   251   | o |  2: c5cefa58fd55 'C'
   252   |/ /
   252   |/ /
   253   | o  1: 'B'
   253   | o  1: 27547f69f254 'B'
   254   |/
   254   |/
   255   o  0: 'A'
   255   o  0: 4a2df7238c3b 'A'
   256   
   256   
   257   $ cd ..
   257   $ cd ..
   258 
   258 
   259 
   259 
   260 Rebase and collapse - more than one external (fail):
   260 Rebase and collapse - more than one external (fail):
   273   rebasing 5:7f219660301f "F"
   273   rebasing 5:7f219660301f "F"
   274   rebasing 6:c772a8b2dc17 "G"
   274   rebasing 6:c772a8b2dc17 "G"
   275   saved backup bundle to $TESTTMP/b1/.hg/strip-backup/8a5212ebc852-75046b61-rebase.hg (glob)
   275   saved backup bundle to $TESTTMP/b1/.hg/strip-backup/8a5212ebc852-75046b61-rebase.hg (glob)
   276 
   276 
   277   $ hg tglog
   277   $ hg tglog
   278   o    5: 'Collapsed revision
   278   o    5: f97c4725bd99 'Collapsed revision
   279   |\   * E
   279   |\   * E
   280   | |  * F
   280   | |  * F
   281   | |  * G'
   281   | |  * G'
   282   | @  4: 'H'
   282   | @  4: c65502d41787 'H'
   283   | |
   283   | |
   284   o |    3: 'D'
   284   o |    3: 2870ad076e54 'D'
   285   |\ \
   285   |\ \
   286   | o |  2: 'C'
   286   | o |  2: c5cefa58fd55 'C'
   287   | |/
   287   | |/
   288   o /  1: 'B'
   288   o /  1: 27547f69f254 'B'
   289   |/
   289   |/
   290   o  0: 'A'
   290   o  0: 4a2df7238c3b 'A'
   291   
   291   
   292   $ hg manifest --rev tip
   292   $ hg manifest --rev tip
   293   A
   293   A
   294   C
   294   C
   295   D
   295   D
   391   $ hg ci -Am I
   391   $ hg ci -Am I
   392   adding I
   392   adding I
   393   created new head
   393   created new head
   394 
   394 
   395   $ hg tglog
   395   $ hg tglog
   396   @  8: 'I'
   396   @  8: 46d6f0e29c20 'I'
   397   |
   397   |
   398   | o    7: 'H'
   398   | o    7: 417d3b648079 'H'
   399   | |\
   399   | |\
   400   | | o  6: 'G'
   400   | | o  6: 55a44ad28289 'G'
   401   | | |
   401   | | |
   402   | | o  5: 'F'
   402   | | o  5: dca5924bb570 'F'
   403   | | |
   403   | | |
   404   | | o  4: 'E'
   404   | | o  4: 8a5212ebc852 'E'
   405   | | |
   405   | | |
   406   | o |  3: 'D'
   406   | o |  3: 2870ad076e54 'D'
   407   | |\|
   407   | |\|
   408   | o |  2: 'C'
   408   | o |  2: c5cefa58fd55 'C'
   409   |/ /
   409   |/ /
   410   | o  1: 'B'
   410   | o  1: 27547f69f254 'B'
   411   |/
   411   |/
   412   o  0: 'A'
   412   o  0: 4a2df7238c3b 'A'
   413   
   413   
   414   $ cd ..
   414   $ cd ..
   415 
   415 
   416 
   416 
   417 Rebase and collapse - E onto I:
   417 Rebase and collapse - E onto I:
   426   rebasing 6:55a44ad28289 "G"
   426   rebasing 6:55a44ad28289 "G"
   427   rebasing 7:417d3b648079 "H"
   427   rebasing 7:417d3b648079 "H"
   428   saved backup bundle to $TESTTMP/c1/.hg/strip-backup/8a5212ebc852-f95d0879-rebase.hg (glob)
   428   saved backup bundle to $TESTTMP/c1/.hg/strip-backup/8a5212ebc852-f95d0879-rebase.hg (glob)
   429 
   429 
   430   $ hg tglog
   430   $ hg tglog
   431   o    5: 'Collapsed revision
   431   o    5: 340b34a63b39 'Collapsed revision
   432   |\   * E
   432   |\   * E
   433   | |  * F
   433   | |  * F
   434   | |  * G
   434   | |  * G
   435   | |  * H'
   435   | |  * H'
   436   | @  4: 'I'
   436   | @  4: 46d6f0e29c20 'I'
   437   | |
   437   | |
   438   o |    3: 'D'
   438   o |    3: 2870ad076e54 'D'
   439   |\ \
   439   |\ \
   440   | o |  2: 'C'
   440   | o |  2: c5cefa58fd55 'C'
   441   | |/
   441   | |/
   442   o /  1: 'B'
   442   o /  1: 27547f69f254 'B'
   443   |/
   443   |/
   444   o  0: 'A'
   444   o  0: 4a2df7238c3b 'A'
   445   
   445   
   446   $ hg manifest --rev tip
   446   $ hg manifest --rev tip
   447   A
   447   A
   448   C
   448   C
   449   D
   449   D
   491   $ hg ci -Am F
   491   $ hg ci -Am F
   492   adding F
   492   adding F
   493   created new head
   493   created new head
   494 
   494 
   495   $ hg tglog
   495   $ hg tglog
   496   @  5: 'F'
   496   @  5: c137c2b8081f 'F'
   497   |
   497   |
   498   | o    4: 'E'
   498   | o    4: 0a42590ed746 'E'
   499   | |\
   499   | |\
   500   | | o  3: 'D'
   500   | | o  3: 7bbcd6078bcc 'D'
   501   | | |
   501   | | |
   502   | o |  2: 'C'
   502   | o |  2: f838bfaca5c7 'C'
   503   | |/
   503   | |/
   504   | o  1: 'B'
   504   | o  1: 27547f69f254 'B'
   505   |/
   505   |/
   506   o  0: 'A'
   506   o  0: 4a2df7238c3b 'A'
   507   
   507   
   508   $ cd ..
   508   $ cd ..
   509 
   509 
   510 
   510 
   511 Rebase and collapse - B onto F:
   511 Rebase and collapse - B onto F:
   519   rebasing 3:7bbcd6078bcc "D"
   519   rebasing 3:7bbcd6078bcc "D"
   520   rebasing 4:0a42590ed746 "E"
   520   rebasing 4:0a42590ed746 "E"
   521   saved backup bundle to $TESTTMP/d1/.hg/strip-backup/27547f69f254-9a3f7d92-rebase.hg (glob)
   521   saved backup bundle to $TESTTMP/d1/.hg/strip-backup/27547f69f254-9a3f7d92-rebase.hg (glob)
   522 
   522 
   523   $ hg tglog
   523   $ hg tglog
   524   o  2: 'Collapsed revision
   524   o  2: b72eaccb283f 'Collapsed revision
   525   |  * B
   525   |  * B
   526   |  * C
   526   |  * C
   527   |  * D
   527   |  * D
   528   |  * E'
   528   |  * E'
   529   @  1: 'F'
   529   @  1: c137c2b8081f 'F'
   530   |
   530   |
   531   o  0: 'A'
   531   o  0: 4a2df7238c3b 'A'
   532   
   532   
   533   $ hg manifest --rev tip
   533   $ hg manifest --rev tip
   534   A
   534   A
   535   B
   535   B
   536   C
   536   C
   562   $ echo 'd' > d
   562   $ echo 'd' > d
   563   $ hg ci -Am 'D'
   563   $ hg ci -Am 'D'
   564   adding d
   564   adding d
   565 
   565 
   566   $ hg tglog
   566   $ hg tglog
   567   @  3: 'D'
   567   @  3: 41acb9dca9eb 'D'
   568   |
   568   |
   569   | o  2: 'C' two
   569   | o  2: 8ac4a08debf1 'C' two
   570   | |
   570   | |
   571   | o  1: 'B' one
   571   | o  1: 1ba175478953 'B' one
   572   |/
   572   |/
   573   o  0: 'A'
   573   o  0: 1994f17a630e 'A'
   574   
   574   
   575   $ hg rebase --keepbranches --collapse -s 1 -d 3
   575   $ hg rebase --keepbranches --collapse -s 1 -d 3
   576   abort: cannot collapse multiple named branches
   576   abort: cannot collapse multiple named branches
   577   [255]
   577   [255]
   578 
   578 
   586   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   586   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   587   $ repeatchange 3 "E" "user2"
   587   $ repeatchange 3 "E" "user2"
   588   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   588   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   589   created new head
   589   created new head
   590   $ hg tglog
   590   $ hg tglog
   591   @  5: 'E'
   591   @  5: fbfb97b1089a 'E'
   592   |
   592   |
   593   | o  4: 'E'
   593   | o  4: f338eb3c2c7c 'E'
   594   |/
   594   |/
   595   o  3: 'D'
   595   o  3: 41acb9dca9eb 'D'
   596   |
   596   |
   597   | o  2: 'C' two
   597   | o  2: 8ac4a08debf1 'C' two
   598   | |
   598   | |
   599   | o  1: 'B' one
   599   | o  1: 1ba175478953 'B' one
   600   |/
   600   |/
   601   o  0: 'A'
   601   o  0: 1994f17a630e 'A'
   602   
   602   
   603   $ hg rebase -s 5 -d 4
   603   $ hg rebase -s 5 -d 4
   604   rebasing 5:fbfb97b1089a "E" (tip)
   604   rebasing 5:fbfb97b1089a "E" (tip)
   605   note: rebase of 5:fbfb97b1089a created no changes to commit
   605   note: rebase of 5:fbfb97b1089a created no changes to commit
   606   saved backup bundle to $TESTTMP/e/.hg/strip-backup/fbfb97b1089a-553e1d85-rebase.hg (glob)
   606   saved backup bundle to $TESTTMP/e/.hg/strip-backup/fbfb97b1089a-553e1d85-rebase.hg (glob)
   607   $ hg tglog
   607   $ hg tglog
   608   @  4: 'E'
   608   @  4: f338eb3c2c7c 'E'
   609   |
   609   |
   610   o  3: 'D'
   610   o  3: 41acb9dca9eb 'D'
   611   |
   611   |
   612   | o  2: 'C' two
   612   | o  2: 8ac4a08debf1 'C' two
   613   | |
   613   | |
   614   | o  1: 'B' one
   614   | o  1: 1ba175478953 'B' one
   615   |/
   615   |/
   616   o  0: 'A'
   616   o  0: 1994f17a630e 'A'
   617   
   617   
   618   $ hg export tip
   618   $ hg export tip
   619   # HG changeset patch
   619   # HG changeset patch
   620   # User user1
   620   # User user1
   621   # Date 0 0
   621   # Date 0 0
   644   added 4 changesets with 11 changes to 7 files (+1 heads)
   644   added 4 changesets with 11 changes to 7 files (+1 heads)
   645   new changesets f447d5abf5ea:338e84e2e558
   645   new changesets f447d5abf5ea:338e84e2e558
   646   (run 'hg heads' to see heads, 'hg merge' to merge)
   646   (run 'hg heads' to see heads, 'hg merge' to merge)
   647   $ hg up -q tip
   647   $ hg up -q tip
   648   $ hg tglog
   648   $ hg tglog
   649   @  3: 'move2'
   649   @  3: 338e84e2e558 'move2'
   650   |
   650   |
   651   o  2: 'move1'
   651   o  2: 6e7340ee38c0 'move1'
   652   |
   652   |
   653   | o  1: 'change'
   653   | o  1: 1352765a01d4 'change'
   654   |/
   654   |/
   655   o  0: 'add'
   655   o  0: f447d5abf5ea 'add'
   656   
   656   
   657   $ hg rebase --collapse -d 1
   657   $ hg rebase --collapse -d 1
   658   rebasing 2:6e7340ee38c0 "move1"
   658   rebasing 2:6e7340ee38c0 "move1"
   659   merging a and d to d
   659   merging a and d to d
   660   merging b and e to e
   660   merging b and e to e
   684   d (a)g (b)
   684   d (a)g (b)
   685 
   685 
   686 Test collapsing a middle revision in-place
   686 Test collapsing a middle revision in-place
   687 
   687 
   688   $ hg tglog
   688   $ hg tglog
   689   @  2: 'Collapsed revision
   689   @  2: 64b456429f67 'Collapsed revision
   690   |  * move1
   690   |  * move1
   691   |  * move2'
   691   |  * move2'
   692   o  1: 'change'
   692   o  1: 1352765a01d4 'change'
   693   |
   693   |
   694   o  0: 'add'
   694   o  0: f447d5abf5ea 'add'
   695   
   695   
   696   $ hg rebase --collapse -r 1 -d 0
   696   $ hg rebase --collapse -r 1 -d 0
   697   abort: can't remove original changesets with unrebased descendants
   697   abort: can't remove original changesets with unrebased descendants
   698   (use --keep to keep original changesets)
   698   (use --keep to keep original changesets)
   699   [255]
   699   [255]
   746   $ hg ci -Am C
   746   $ hg ci -Am C
   747   adding C
   747   adding C
   748   created new head
   748   created new head
   749 
   749 
   750   $ hg tglog
   750   $ hg tglog
   751   @  2: 'C'
   751   @  2: c5cefa58fd55 'C'
   752   |
   752   |
   753   | o  1: 'B'
   753   | o  1: 27547f69f254 'B'
   754   |/
   754   |/
   755   o  0: 'A'
   755   o  0: 4a2df7238c3b 'A'
   756   
   756   
   757 
   757 
   758 
   758 
   759   $ hg heads --template="{rev}:{node} {branch}: {desc}\n"
   759   $ hg heads --template="{rev}:{node} {branch}: {desc}\n"
   760   2:c5cefa58fd557f84b72b87f970135984337acbc5 default: C
   760   2:c5cefa58fd557f84b72b87f970135984337acbc5 default: C
   763   $ hg strip 2
   763   $ hg strip 2
   764   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   764   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   765   saved backup bundle to $TESTTMP/f/.hg/strip-backup/c5cefa58fd55-629429f4-backup.hg (glob)
   765   saved backup bundle to $TESTTMP/f/.hg/strip-backup/c5cefa58fd55-629429f4-backup.hg (glob)
   766 
   766 
   767   $ hg tglog
   767   $ hg tglog
   768   o  1: 'B'
   768   o  1: 27547f69f254 'B'
   769   |
   769   |
   770   @  0: 'A'
   770   @  0: 4a2df7238c3b 'A'
   771   
   771   
   772 
   772 
   773 
   773 
   774   $ hg heads --template="{rev}:{node} {branch}: {desc}\n"
   774   $ hg heads --template="{rev}:{node} {branch}: {desc}\n"
   775   1:27547f69f25460a52fff66ad004e58da7ad3fb56 default: B
   775   1:27547f69f25460a52fff66ad004e58da7ad3fb56 default: B