tests/test-obsolete-rebase.t
branchstable
changeset 662 40854e956315
parent 648 f727ebe6ffd5
parent 660 e6e47c432ffd
child 663 9d4ff0809a00
equal deleted inserted replaced
648:f727ebe6ffd5 662:40854e956315
     1   $ cat >> $HGRCPATH <<EOF
       
     2   > [defaults]
       
     3   > amend=-d "0 0"
       
     4   > [extensions]
       
     5   > hgext.rebase=
       
     6   > hgext.graphlog=
       
     7   > EOF
       
     8   $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
       
     9 
       
    10   $ glog() {
       
    11   >   hg glog --template '{rev}:{node|short}@{branch}({phase}) {desc|firstline}\n'\
       
    12   >     "$@"
       
    13   > }
       
    14 
       
    15   $ hg init repo
       
    16   $ cd repo
       
    17   $ echo a > a
       
    18   $ hg ci -Am adda
       
    19   adding a
       
    20   $ echo a >> a
       
    21   $ hg ci -m changea
       
    22 
       
    23 Test regular rebase
       
    24 
       
    25   $ hg up 0
       
    26   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    27   $ echo b > b
       
    28   $ hg ci -Am addb
       
    29   adding b
       
    30   created new head
       
    31   $ echo e > e
       
    32   $ hg ci -Am adde e
       
    33 
       
    34 (phase compliance)
       
    35 
       
    36   $ hg phase --public 3
       
    37   $ hg rebase -d 1 -r 3
       
    38   abort: can't rebase immutable changeset 98e4a024635e
       
    39   (see hg help phases for details)
       
    40   [255]
       
    41   $ hg phase --draft --force 0
       
    42   $ hg rebase -d 1 -r 3 --keep  
       
    43   $ glog
       
    44   @  4:9c5494949763@default(draft) adde
       
    45   |
       
    46   | o  3:98e4a024635e@default(draft) adde
       
    47   | |
       
    48   | o  2:102a90ea7b4a@default(draft) addb
       
    49   | |
       
    50   o |  1:540395c44225@default(draft) changea
       
    51   |/
       
    52   o  0:07f494440405@default(draft) adda
       
    53   
       
    54   $ glog --hidden
       
    55   @  4:9c5494949763@default(draft) adde
       
    56   |
       
    57   | o  3:98e4a024635e@default(draft) adde
       
    58   | |
       
    59   | o  2:102a90ea7b4a@default(draft) addb
       
    60   | |
       
    61   o |  1:540395c44225@default(draft) changea
       
    62   |/
       
    63   o  0:07f494440405@default(draft) adda
       
    64   
       
    65   $ hg debugobsolete
       
    66   $ hg --config extensions.hgext.mq= strip tip
       
    67   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
    68   saved backup bundle to $TESTTMP/repo/.hg/strip-backup/9c5494949763-backup.hg
       
    69   $ hg rebase -d 1 -r 3
       
    70   $ glog
       
    71   @  4:9c5494949763@default(draft) adde
       
    72   |
       
    73   | o  2:102a90ea7b4a@default(draft) addb
       
    74   | |
       
    75   o |  1:540395c44225@default(draft) changea
       
    76   |/
       
    77   o  0:07f494440405@default(draft) adda
       
    78   
       
    79   $ glog --hidden
       
    80   @  4:9c5494949763@default(draft) adde
       
    81   |
       
    82   | x  3:98e4a024635e@default(draft) adde
       
    83   | |
       
    84   | o  2:102a90ea7b4a@default(draft) addb
       
    85   | |
       
    86   o |  1:540395c44225@default(draft) changea
       
    87   |/
       
    88   o  0:07f494440405@default(draft) adda
       
    89   
       
    90   $ hg debugobsolete
       
    91   98e4a024635e8c50928144c9277a4388d26bd786 9c54949497631abfb5a255d96746bbd3a42ed2ba 0 {'date': '* *', 'user': 'test'} (glob)
       
    92 
       
    93 Test rebase with deleted empty revision
       
    94 
       
    95   $ hg up 0
       
    96   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
    97   $ hg branch foo
       
    98   marked working directory as branch foo
       
    99   (branches are permanent and global, did you want a bookmark?)
       
   100   $ echo a >> a
       
   101   $ hg ci -m changea
       
   102   $ hg rebase -d 1
       
   103   $ glog --hidden
       
   104   x  5:4e322f7ce8e3@foo(draft) changea
       
   105   |
       
   106   | o  4:9c5494949763@default(draft) adde
       
   107   | |
       
   108   | | x  3:98e4a024635e@default(draft) adde
       
   109   | | |
       
   110   +---o  2:102a90ea7b4a@default(draft) addb
       
   111   | |
       
   112   | @  1:540395c44225@default(draft) changea
       
   113   |/
       
   114   o  0:07f494440405@default(draft) adda
       
   115   
       
   116   $ hg debugobsolete
       
   117   98e4a024635e8c50928144c9277a4388d26bd786 9c54949497631abfb5a255d96746bbd3a42ed2ba 0 {'date': '* *', 'user': 'test'} (glob)
       
   118   4e322f7ce8e3e4203950eac9ece27bf7e45ffa6c 540395c442253af3b991be882b539e7e198b5808 0 {'date': '* *', 'user': 'test'} (glob)
       
   119 
       
   120 Test rebase --collapse
       
   121 
       
   122   $ hg up 0
       
   123   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   124   $ echo c > c
       
   125   $ hg ci -Am addc
       
   126   adding c
       
   127   created new head
       
   128   $ echo c >> c
       
   129   $ hg ci -m changec
       
   130   $ hg rebase --collapse -d 1
       
   131   merging c
       
   132   $ glog --hidden
       
   133   @  8:a7773ffa7edc@default(draft) Collapsed revision
       
   134   |
       
   135   | x  7:03f31481307a@default(draft) changec
       
   136   | |
       
   137   | x  6:076e9b2ffbe1@default(draft) addc
       
   138   | |
       
   139   | | x  5:4e322f7ce8e3@foo(draft) changea
       
   140   | |/
       
   141   +---o  4:9c5494949763@default(draft) adde
       
   142   | |
       
   143   | | x  3:98e4a024635e@default(draft) adde
       
   144   | | |
       
   145   | | o  2:102a90ea7b4a@default(draft) addb
       
   146   | |/
       
   147   o |  1:540395c44225@default(draft) changea
       
   148   |/
       
   149   o  0:07f494440405@default(draft) adda
       
   150   
       
   151   $ hg debugobsolete
       
   152   98e4a024635e8c50928144c9277a4388d26bd786 9c54949497631abfb5a255d96746bbd3a42ed2ba 0 {'date': '* *', 'user': 'test'} (glob)
       
   153   4e322f7ce8e3e4203950eac9ece27bf7e45ffa6c 540395c442253af3b991be882b539e7e198b5808 0 {'date': '* *', 'user': 'test'} (glob)
       
   154   076e9b2ffbe11c7bcb9ee97f5c0c8b88a1a10b93 a7773ffa7edcfac27b5dcdb2d5c1036e15a49861 0 {'date': '* *', 'user': 'test'} (glob)
       
   155   03f31481307aaf5275d07ec28c1c59931759ccd2 a7773ffa7edcfac27b5dcdb2d5c1036e15a49861 0 {'date': '* *', 'user': 'test'} (glob)
       
   156 
       
   157 Test rebase --abort
       
   158 
       
   159   $ hg debugobsolete > ../successors.old
       
   160   $ hg up 0
       
   161   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
   162   $ echo d > d
       
   163   $ hg ci -Am addd d
       
   164   created new head
       
   165   $ echo b >> a
       
   166   $ hg ci -m appendab
       
   167   $ hg rebase -d 1
       
   168   merging a
       
   169   warning: conflicts during merge.
       
   170   merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
       
   171   abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
       
   172   [255]
       
   173   $ hg rebase --abort
       
   174   saved backup bundle to $TESTTMP/repo/.hg/strip-backup/03f165c84ea8-backup.hg
       
   175   rebase aborted
       
   176   $ hg debugobsolete > ../successors.new
       
   177   $ diff -u ../successors.old ../successors.new
       
   178 
       
   179 Test rebase --continue
       
   180 
       
   181   $ hg rebase -d 1
       
   182   merging a
       
   183   warning: conflicts during merge.
       
   184   merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
       
   185   abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
       
   186   [255]
       
   187   $ hg resolve --tool internal:other a
       
   188   $ hg rebase --continue
       
   189   $ glog --hidden
       
   190   @  12:1951ead97108@default(draft) appendab
       
   191   |
       
   192   o  11:03f165c84ea8@default(draft) addd
       
   193   |
       
   194   | x  10:4b9d80f48523@default(draft) appendab
       
   195   | |
       
   196   | x  9:a31943eabc43@default(draft) addd
       
   197   | |
       
   198   +---o  8:a7773ffa7edc@default(draft) Collapsed revision
       
   199   | |
       
   200   | | x  7:03f31481307a@default(draft) changec
       
   201   | | |
       
   202   | | x  6:076e9b2ffbe1@default(draft) addc
       
   203   | |/
       
   204   | | x  5:4e322f7ce8e3@foo(draft) changea
       
   205   | |/
       
   206   +---o  4:9c5494949763@default(draft) adde
       
   207   | |
       
   208   | | x  3:98e4a024635e@default(draft) adde
       
   209   | | |
       
   210   | | o  2:102a90ea7b4a@default(draft) addb
       
   211   | |/
       
   212   o |  1:540395c44225@default(draft) changea
       
   213   |/
       
   214   o  0:07f494440405@default(draft) adda
       
   215   
       
   216   $ hg debugobsolete > ../successors.new
       
   217   $ diff -u ../successors.old ../successors.new
       
   218   --- ../successors.old* (glob)
       
   219   +++ ../successors.new* (glob)
       
   220   @@ -2,3 +2,5 @@
       
   221    4e322f7ce8e3e4203950eac9ece27bf7e45ffa6c 540395c442253af3b991be882b539e7e198b5808 0 {'date': '* *', 'user': 'test'} (glob)
       
   222    076e9b2ffbe11c7bcb9ee97f5c0c8b88a1a10b93 a7773ffa7edcfac27b5dcdb2d5c1036e15a49861 0 {'date': '* *', 'user': 'test'} (glob)
       
   223    03f31481307aaf5275d07ec28c1c59931759ccd2 a7773ffa7edcfac27b5dcdb2d5c1036e15a49861 0 {'date': '* *', 'user': 'test'} (glob)
       
   224   +a31943eabc4327df16f9eca71bf7779c32f815f7 03f165c84ea8889fc35a64a392caa7a0084dd212 0 {'date': '* *', 'user': 'test'} (glob)
       
   225   +4b9d80f48523e296f4402cc8e37236b768dfb981 1951ead9710803dbf117e95901954d5ed717f80b 0 {'date': '* *', 'user': 'test'} (glob)
       
   226   [1]
       
   227 
       
   228 Test hg pull --rebase
       
   229 
       
   230   $ hg glog
       
   231   @  changeset:   12:1951ead97108
       
   232   |  tag:         tip
       
   233   |  user:        test
       
   234   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   235   |  summary:     appendab
       
   236   |
       
   237   o  changeset:   11:03f165c84ea8
       
   238   |  parent:      1:540395c44225
       
   239   |  user:        test
       
   240   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   241   |  summary:     addd
       
   242   |
       
   243   | o  changeset:   8:a7773ffa7edc
       
   244   |/   parent:      1:540395c44225
       
   245   |    user:        test
       
   246   |    date:        Thu Jan 01 00:00:00 1970 +0000
       
   247   |    summary:     Collapsed revision
       
   248   |
       
   249   | o  changeset:   4:9c5494949763
       
   250   |/   parent:      1:540395c44225
       
   251   |    user:        test
       
   252   |    date:        Thu Jan 01 00:00:00 1970 +0000
       
   253   |    summary:     adde
       
   254   |
       
   255   | o  changeset:   2:102a90ea7b4a
       
   256   | |  parent:      0:07f494440405
       
   257   | |  user:        test
       
   258   | |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   259   | |  summary:     addb
       
   260   | |
       
   261   o |  changeset:   1:540395c44225
       
   262   |/   user:        test
       
   263   |    date:        Thu Jan 01 00:00:00 1970 +0000
       
   264   |    summary:     changea
       
   265   |
       
   266   o  changeset:   0:07f494440405
       
   267      user:        test
       
   268      date:        Thu Jan 01 00:00:00 1970 +0000
       
   269      summary:     adda
       
   270   
       
   271   $ echo '[phases]' >> .hg/hgrc
       
   272   $ echo 'publish=False' >> .hg/hgrc
       
   273   $ hg clone . -r 540395c44225 ../other
       
   274   adding changesets
       
   275   adding manifests
       
   276   adding file changes
       
   277   added 2 changesets with 2 changes to 1 files
       
   278   updating to branch default
       
   279   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   280   $ hg ph -vfd 'all()'
       
   281   no phases changed
       
   282   [1]
       
   283   $ cd ../other
       
   284   $ echo 'babar' > toto
       
   285   $ hg add toto
       
   286   $ hg ci -m 'babar is not dead'
       
   287   $ echo '[ui]' >> .hg/hgrc
       
   288   $ echo 'logtemplate={rev} {node|short} {desc|firstline}\n' >> .hg/hgrc
       
   289   $ hg pull --rebase --traceback | grep -v 'saved'
       
   290   pulling from $TESTTMP/repo
       
   291   searching for changes
       
   292   adding changesets
       
   293   adding manifests
       
   294   adding file changes
       
   295   added 5 changesets with 5 changes to 5 files (+4 heads)
       
   296   $ hg glog
       
   297   @  [78] d5567dbec794 babar is not dead (re)
       
   298   |
       
   299   o  [67] 1951ead97108 appendab (re)
       
   300   |
       
   301   o  [56] 03f165c84ea8 addd (re)
       
   302   |
       
   303   | o  [45] a7773ffa7edc Collapsed revision (re)
       
   304   |/
       
   305   | o  [34] 9c5494949763 adde (re)
       
   306   |/
       
   307   | o  [23] 102a90ea7b4a addb (re)
       
   308   | |
       
   309   o |  1 540395c44225 changea
       
   310   |/
       
   311   o  0 07f494440405 adda
       
   312