tests/test-rebase-mq.t
author Durham Goode <durham@fb.com>
Sun, 30 Aug 2015 13:58:11 -0700
changeset 26117 4dc5b51f38fe
parent 23835 aa4a1672583e
child 26614 ef1eb6df7071
permissions -rw-r--r--
revlog: change generaldelta delta parent heuristic The old generaldelta heuristic was "if p1 (or p2) was closer than the last full text, use it, otherwise use prev". This was problematic when a repo contained multiple branches that were very different. If commits to branch A were pushed, and the last full text was branch B, it would generate a fulltext. Then if branch B was pushed, it would generate another fulltext. The problem is that the last fulltext (and delta'ing against `prev` in general) has no correlation with the contents of the incoming revision, and therefore will always have degenerate cases. According to the blame, that algorithm was chosen to minimize the chain length. Since there is already code that protects against that (the delta-vs-fulltext code), and since it has been improved since the original generaldelta algorithm went in (2011), I believe the chain length criteria will still be preserved. The new algorithm always diffs against p1 (or p2 if it's closer), unless the resulting delta will fail the delta-vs-fulltext check, in which case we delta against prev. Some before and after stats on manifest.d size. internal large repo old heuristic - 2.0 GB new heuristic - 1.2 GB mozilla-central old heuristic - 242 MB new heuristic - 261 MB The regression in mozilla central is due to the new heuristic choosing p2r as the delta when it's closer to the tip. Switching the algorithm to always prefer p1r brings the size back down (242 MB). This is result of the way in which mozilla does merges and pushes, and the result could easily swing the other direction in other repos (depending on if they merge X into Y or Y into X), but will never be as degenerate as before. I future patch will address the regression by introducing an optional, even more aggressive delta heuristic which will knock the mozilla manifest size down dramatically.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     2
  > [extensions]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     3
  > rebase=
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     4
  > mq=
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     5
  > 
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     6
  > [mq]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     7
  > plain=true
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     8
  > 
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
     9
  > [alias]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    10
  > tglog = log -G --template "{rev}: '{desc}' tags: {tags}\n"
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    11
  > EOF
11198
b345b1cc124f rebase: use helpers.sh in tests
Matt Mackall <mpm@selenic.com>
parents: 10672
diff changeset
    12
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    13
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    14
  $ hg init a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    15
  $ cd a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    16
  $ hg qinit -c
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    17
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    18
  $ echo c1 > f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    19
  $ hg add f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    20
  $ hg ci -m C1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    21
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    22
  $ echo r1 > f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    23
  $ hg ci -m R1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    24
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    25
  $ hg up -q 0
10397
8cb81d75730c mq: add parent node IDs to MQ patches on qrefresh/qnew
Steve Losh <steve@stevelosh.com>
parents: 8168
diff changeset
    26
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
    27
  $ hg qnew f.patch -d '1 0'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    28
  $ echo mq1 > f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    29
  $ hg qref -m P0
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    30
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    31
  $ hg qnew f2.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    32
  $ echo mq2 > f
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
    33
  $ hg qref -m P1 -d '2 0'
6931
02f4a0bcfdce test-rebase-mq: '|' is a GNU sed extension, unfold it
Patrick Mezard <pmezard@gmail.com>
parents: 6906
diff changeset
    34
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    35
  $ hg tglog
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    36
  @  3: 'P1' tags: f2.patch qtip tip
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    37
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    38
  o  2: 'P0' tags: f.patch qbase
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    39
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    40
  | o  1: 'R1' tags:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    41
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    42
  o  0: 'C1' tags: qparent
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    43
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    44
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    45
Rebase - try to rebase on an applied mq patch:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    46
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    47
  $ hg rebase -s 1 -d 3
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    48
  abort: cannot rebase onto an applied mq patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    49
  [255]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    50
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    51
Rebase - same thing, but mq patch is default dest:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    52
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    53
  $ hg up -q 1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    54
  $ hg rebase
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    55
  abort: cannot rebase onto an applied mq patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    56
  [255]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    57
  $ hg up -q qtip
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    58
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    59
Rebase - generate a conflict:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    60
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    61
  $ hg rebase -s 2 -d 1
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23515
diff changeset
    62
  rebasing 2:3504f44bffc0 "P0" (f.patch qbase)
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    63
  merging f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    64
  warning: conflicts during merge.
15501
2371f4aea665 merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents: 14599
diff changeset
    65
  merging f incomplete! (edit conflicts, then use 'hg resolve --mark')
18933
42b620fc89e2 rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents: 18648
diff changeset
    66
  unresolved conflicts (see hg resolve, then hg rebase --continue)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18933
diff changeset
    67
  [1]
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    68
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    69
Fix the 1st conflict:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    70
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    71
  $ echo mq1r1 > f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    72
  $ hg resolve -m f
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
    73
  (no more unresolved files)
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    74
  $ hg rebase -c
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23515
diff changeset
    75
  rebasing 2:3504f44bffc0 "P0" (f.patch qbase)
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23515
diff changeset
    76
  rebasing 3:929394423cd3 "P1" (f2.patch qtip tip)
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    77
  merging f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    78
  warning: conflicts during merge.
15501
2371f4aea665 merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents: 14599
diff changeset
    79
  merging f incomplete! (edit conflicts, then use 'hg resolve --mark')
18933
42b620fc89e2 rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents: 18648
diff changeset
    80
  unresolved conflicts (see hg resolve, then hg rebase --continue)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18933
diff changeset
    81
  [1]
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    82
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    83
Fix the 2nd conflict:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    84
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    85
  $ echo mq1r1mq2 > f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    86
  $ hg resolve -m f
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
    87
  (no more unresolved files)
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    88
  $ hg rebase -c
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23515
diff changeset
    89
  already rebased 2:3504f44bffc0 "P0" (f.patch qbase) as ebe9914c0d1c
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23515
diff changeset
    90
  rebasing 3:929394423cd3 "P1" (f2.patch qtip)
23835
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 23518
diff changeset
    91
  saved backup bundle to $TESTTMP/a/.hg/strip-backup/3504f44bffc0-30595b40-backup.hg (glob)
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    92
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    93
  $ hg tglog
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    94
  @  3: 'P1' tags: f2.patch qtip tip
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    95
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    96
  o  2: 'P0' tags: f.patch qbase
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    97
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    98
  o  1: 'R1' tags: qparent
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
    99
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   100
  o  0: 'C1' tags:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   101
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   102
  $ hg up -q qbase
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   103
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   104
  $ cat f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   105
  mq1r1
10672
c2e1e637d4da rebase: always check if rebasing onto an applied mq patch.
Greg Ward <greg-hg@gerg.ca>
parents: 10397
diff changeset
   106
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   107
  $ cat .hg/patches/f.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   108
  # HG changeset patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   109
  # User test
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   110
  # Date 1 0
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   111
  #      Thu Jan 01 00:00:01 1970 +0000
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   112
  # Node ID ebe9914c0d1c3f60096e952fa4dbb3d377dea3ab
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   113
  # Parent  bac9ed9960d8992bcad75864a879fa76cadaf1b0
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   114
  P0
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   115
  
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   116
  diff -r bac9ed9960d8 -r ebe9914c0d1c f
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   117
  --- a/f	Thu Jan 01 00:00:00 1970 +0000
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   118
  +++ b/f	Thu Jan 01 00:00:01 1970 +0000
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   119
  @@ -1,1 +1,1 @@
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   120
  -r1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   121
  +mq1r1
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   122
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   123
Update to qtip:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   124
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   125
  $ hg up -q qtip
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   126
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   127
  $ cat f
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   128
  mq1r1mq2
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   129
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   130
  $ cat .hg/patches/f2.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   131
  # HG changeset patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   132
  # User test
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   133
  # Date 2 0
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   134
  #      Thu Jan 01 00:00:02 1970 +0000
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   135
  # Node ID 462012cf340c97d44d62377c985a423f6bb82f07
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   136
  # Parent  ebe9914c0d1c3f60096e952fa4dbb3d377dea3ab
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   137
  P1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   138
  
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   139
  diff -r ebe9914c0d1c -r 462012cf340c f
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   140
  --- a/f	Thu Jan 01 00:00:01 1970 +0000
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   141
  +++ b/f	Thu Jan 01 00:00:02 1970 +0000
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   142
  @@ -1,1 +1,1 @@
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   143
  -mq1r1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   144
  +mq1r1mq2
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   145
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   146
Adding one git-style patch and one normal:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   147
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   148
  $ hg qpop -a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   149
  popping f2.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   150
  popping f.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   151
  patch queue now empty
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   152
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   153
  $ rm -fr .hg/patches
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   154
  $ hg qinit -c
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   155
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   156
  $ hg up -q 0
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   157
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   158
  $ hg qnew --git f_git.patch -d '3 0'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   159
  $ echo mq1 > p
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   160
  $ hg add p
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   161
  $ hg qref --git -m 'P0 (git)'
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   162
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   163
  $ hg qnew f.patch -d '4 0'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   164
  $ echo mq2 > p
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   165
  $ hg qref -m P1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   166
  $ hg qci -m 'save patch state'
6931
02f4a0bcfdce test-rebase-mq: '|' is a GNU sed extension, unfold it
Patrick Mezard <pmezard@gmail.com>
parents: 6906
diff changeset
   167
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   168
  $ hg qseries -s
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   169
  f_git.patch: P0 (git)
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   170
  f.patch: P1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   171
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   172
  $ hg -R .hg/patches manifest
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   173
  .hgignore
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   174
  f.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   175
  f_git.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   176
  series
7955
c3d4ff03ec72 rebase: keep original mq patch format (Issue1574)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6931
diff changeset
   177
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   178
  $ cat .hg/patches/f_git.patch
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   179
  Date: 3 0
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   180
  
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   181
  P0 (git)
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   182
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   183
  diff --git a/p b/p
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   184
  new file mode 100644
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   185
  --- /dev/null
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   186
  +++ b/p
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   187
  @@ -0,0 +1,1 @@
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   188
  +mq1
7955
c3d4ff03ec72 rebase: keep original mq patch format (Issue1574)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6931
diff changeset
   189
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   190
  $ cat .hg/patches/f.patch
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   191
  Date: 4 0
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   192
  
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   193
  P1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   194
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   195
  diff -r ???????????? p (glob)
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   196
  --- a/p	??? ??? ?? ??:??:?? ???? ????? (glob)
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   197
  +++ b/p	??? ??? ?? ??:??:?? ???? ????? (glob)
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   198
  @@ -1,1 +1,1 @@
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   199
  -mq1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   200
  +mq2
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   201
7955
c3d4ff03ec72 rebase: keep original mq patch format (Issue1574)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6931
diff changeset
   202
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   203
Rebase the applied mq patches:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   204
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   205
  $ hg rebase -s 2 -d 1
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23515
diff changeset
   206
  rebasing 2:0c587ffcb480 "P0 (git)" (f_git.patch qbase)
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23515
diff changeset
   207
  rebasing 3:c7f18665e4bc "P1" (f.patch qtip tip)
23835
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 23518
diff changeset
   208
  saved backup bundle to $TESTTMP/a/.hg/strip-backup/0c587ffcb480-0ea5695f-backup.hg (glob)
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   209
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   210
  $ hg qci -m 'save patch state'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   211
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   212
  $ hg qseries -s
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   213
  f_git.patch: P0 (git)
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   214
  f.patch: P1
7955
c3d4ff03ec72 rebase: keep original mq patch format (Issue1574)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6931
diff changeset
   215
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   216
  $ hg -R .hg/patches manifest
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   217
  .hgignore
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   218
  f.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   219
  f_git.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   220
  series
7955
c3d4ff03ec72 rebase: keep original mq patch format (Issue1574)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6931
diff changeset
   221
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   222
  $ cat .hg/patches/f_git.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   223
  # HG changeset patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   224
  # User test
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   225
  # Date 3 0
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   226
  #      Thu Jan 01 00:00:03 1970 +0000
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   227
  # Node ID 12d9f6a3bbe560dee50c7c454d434add7fb8e837
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   228
  # Parent  bac9ed9960d8992bcad75864a879fa76cadaf1b0
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   229
  P0 (git)
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   230
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   231
  diff --git a/p b/p
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   232
  new file mode 100644
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   233
  --- /dev/null
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   234
  +++ b/p
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   235
  @@ -0,0 +1,1 @@
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   236
  +mq1
7955
c3d4ff03ec72 rebase: keep original mq patch format (Issue1574)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6931
diff changeset
   237
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   238
  $ cat .hg/patches/f.patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   239
  # HG changeset patch
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   240
  # User test
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   241
  # Date 4 0
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   242
  #      Thu Jan 01 00:00:04 1970 +0000
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   243
  # Node ID c77a2661c64c60d82f63c4f7aefd95b3a948a557
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   244
  # Parent  12d9f6a3bbe560dee50c7c454d434add7fb8e837
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   245
  P1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   246
  
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   247
  diff -r 12d9f6a3bbe5 -r c77a2661c64c p
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   248
  --- a/p	Thu Jan 01 00:00:03 1970 +0000
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   249
  +++ b/p	Thu Jan 01 00:00:04 1970 +0000
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   250
  @@ -1,1 +1,1 @@
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   251
  -mq1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11536
diff changeset
   252
  +mq2
7955
c3d4ff03ec72 rebase: keep original mq patch format (Issue1574)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6931
diff changeset
   253
16912
6ef3107c661e tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents: 16531
diff changeset
   254
  $ cd ..
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   255
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   256
Rebase with guards
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   257
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   258
  $ hg init foo
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   259
  $ cd foo
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   260
  $ echo a > a
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   261
  $ hg ci -Am a
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   262
  adding a
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   263
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   264
Create mq repo with guarded patches foo and bar and empty patch:
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   265
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   266
  $ hg qinit
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   267
  $ echo guarded > guarded
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   268
  $ hg add guarded
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   269
  $ hg qnew guarded
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   270
  $ hg qnew empty-important -m 'important commit message' -d '1 0'
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   271
  $ echo bar > bar
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   272
  $ hg add bar
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   273
  $ hg qnew bar -d '2 0'
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   274
  $ echo foo > foo
14599
b28004513977 rebase: preserve mq series order after rebasing (issue2849)
Idan Kamara <idankk86@gmail.com>
parents: 13766
diff changeset
   275
  $ hg add foo
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   276
  $ hg qnew foo
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   277
  $ hg qpop -a
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   278
  popping foo
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   279
  popping bar
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   280
  popping empty-important
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   281
  popping guarded
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   282
  patch queue now empty
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   283
  $ hg qguard guarded +guarded
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   284
  $ hg qguard bar +baz
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   285
  $ hg qguard foo +baz
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   286
  $ hg qselect baz
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   287
  number of unguarded, unapplied patches has changed from 1 to 3
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   288
  $ hg qpush bar
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   289
  applying empty-important
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   290
  patch empty-important is empty
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   291
  applying bar
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   292
  now at: bar
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   293
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   294
  $ hg qguard -l
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   295
  guarded: +guarded
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   296
  empty-important: unguarded
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   297
  bar: +baz
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   298
  foo: +baz
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   299
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   300
  $ hg tglog
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   301
  @  2: 'imported patch bar' tags: bar qtip tip
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   302
  |
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   303
  o  1: 'important commit message' tags: empty-important qbase
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   304
  |
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   305
  o  0: 'a' tags: qparent
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   306
  
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   307
Create new head to rebase bar onto:
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   308
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   309
  $ hg up -C 0
14599
b28004513977 rebase: preserve mq series order after rebasing (issue2849)
Idan Kamara <idankk86@gmail.com>
parents: 13766
diff changeset
   310
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   311
  $ echo b > b
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   312
  $ hg add b
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   313
  $ hg ci -m b
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   314
  created new head
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   315
  $ hg up -C 2
14599
b28004513977 rebase: preserve mq series order after rebasing (issue2849)
Idan Kamara <idankk86@gmail.com>
parents: 13766
diff changeset
   316
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   317
  $ echo a >> a
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   318
  $ hg qref
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   319
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   320
  $ hg tglog
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   321
  @  3: '[mq]: bar' tags: bar qtip tip
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   322
  |
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   323
  | o  2: 'b' tags:
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   324
  | |
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   325
  o |  1: 'important commit message' tags: empty-important qbase
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   326
  |/
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   327
  o  0: 'a' tags: qparent
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   328
  
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   329
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   330
Rebase bar (make sure series order is preserved and empty-important also is
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   331
removed from the series):
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   332
14599
b28004513977 rebase: preserve mq series order after rebasing (issue2849)
Idan Kamara <idankk86@gmail.com>
parents: 13766
diff changeset
   333
  $ hg qseries
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   334
  guarded
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   335
  empty-important
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   336
  bar
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   337
  foo
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   338
  $ [ -f .hg/patches/empty-important ]
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   339
  $ hg -q rebase -d 2
23518
2fb0504b8175 rebase: show warning when rebase creates no changes to commit
Mads Kiilerich <madski@unity3d.com>
parents: 23517
diff changeset
   340
  note: rebase of 1:0aaf4c3af7eb created no changes to commit
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   341
  $ hg qseries
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   342
  guarded
14599
b28004513977 rebase: preserve mq series order after rebasing (issue2849)
Idan Kamara <idankk86@gmail.com>
parents: 13766
diff changeset
   343
  bar
b28004513977 rebase: preserve mq series order after rebasing (issue2849)
Idan Kamara <idankk86@gmail.com>
parents: 13766
diff changeset
   344
  foo
15904
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   345
  $ [ -f .hg/patches/empty-important ]
7d28d6a67dd3 rebase: write series file without removed mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
   346
  [1]
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   347
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   348
  $ hg qguard -l
16531
b9f51f49bf2a rebase: preserve mq series order, guarded patches (issue2849)
Patrick Mezard <patrick@mezard.eu>
parents: 15904
diff changeset
   349
  guarded: +guarded
14599
b28004513977 rebase: preserve mq series order after rebasing (issue2849)
Idan Kamara <idankk86@gmail.com>
parents: 13766
diff changeset
   350
  bar: +baz
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   351
  foo: +baz
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   352
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   353
  $ hg tglog
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   354
  @  2: '[mq]: bar' tags: bar qbase qtip tip
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   355
  |
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   356
  o  1: 'b' tags: qparent
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   357
  |
23515
7856a87bbb02 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   358
  o  0: 'a' tags:
13766
627e50e9e316 rebase: restore mq guards after rebasing (issue2107)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 12896
diff changeset
   359
  
16912
6ef3107c661e tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents: 16531
diff changeset
   360
  $ cd ..