tests/test-mq-qdelete.t
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 17 Apr 2019 23:10:29 -0700
changeset 42230 fdbeacb9d456
parent 26736 143b52fce68e
child 45906 95c4cca641f6
permissions -rw-r--r--
copies: filter out copies from non-existent source later in _chain() _changesetforwardcopies() repeatedly calls _chain(). That is very expensive because _chain() does lookups in the manifest. I hope to split up the function in two parts: 1) simple chaining, not considering end points, and 2) filter out files that don't exist in the end points (and ping-pong copies/renames). This patches gets us closer to that by moving the check for non-existent source later in the function. Now there are no more checks for "src" and "dst" in the first loop; all the filtering of invalid copies is done in the second loop. The code also looks much more consistent now. No measureable impact on `hg debugpathcopies 4.0 4.8`. That shouldn't be surprising since the only case we're doing more checks now is in case of chained copies/renames, which are quire rare in practice. Differential Revision: https://phab.mercurial-scm.org/D6277
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
     1
  $ echo "[extensions]" >> $HGRCPATH
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
     2
  $ echo "mq=" >> $HGRCPATH
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
     3
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
     4
  $ hg init a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
     5
  $ cd a
3088
dc784839516d mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     6
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
     7
  $ echo 'base' > base
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
     8
  $ hg ci -Ambase -d '1 0'
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
     9
  adding base
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    10
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    11
  $ hg qnew -d '1 0' pa
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    12
  $ hg qnew -d '1 0' pb
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    13
  $ hg qnew -d '1 0' pc
3088
dc784839516d mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    14
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    15
  $ hg qdel
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    16
  abort: qdelete requires at least one revision or patch name
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    17
  [255]
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    18
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    19
  $ hg qdel pc
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    20
  abort: cannot delete applied patch pc
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    21
  [255]
3088
dc784839516d mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    22
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    23
  $ hg qpop
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    24
  popping pc
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    25
  now at: pb
3088
dc784839516d mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    26
12655
5192b24f309c mq: handle deleting the same patch twice in one command (issue2427)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12324
diff changeset
    27
Delete the same patch twice in one command (issue2427)
5192b24f309c mq: handle deleting the same patch twice in one command (issue2427)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12324
diff changeset
    28
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    29
  $ hg qdel pc pc
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    30
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    31
  $ hg qseries
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    32
  pa
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    33
  pb
3088
dc784839516d mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    34
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    35
  $ ls .hg/patches
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    36
  pa
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    37
  pb
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    38
  series
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    39
  status
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    40
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    41
  $ hg qpop
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    42
  popping pb
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    43
  now at: pa
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    44
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    45
  $ hg qdel -k 1
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    46
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    47
  $ ls .hg/patches
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    48
  pa
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    49
  pb
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    50
  series
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    51
  status
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    52
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    53
  $ hg qdel -r pa
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    54
  patch pa finalized without changeset message
4736
04b2c1e27c26 mq: require patch argument or revision for qdelete
Brendan Cully <brendan@kublai.com>
parents: 3376
diff changeset
    55
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    56
  $ hg qapplied
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    57
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    58
  $ hg log --template '{rev} {desc}\n'
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    59
  1 [mq]: pa
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    60
  0 base
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    61
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    62
  $ hg qnew pd
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    63
  $ hg qnew pe
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    64
  $ hg qnew pf
3088
dc784839516d mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    65
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    66
  $ hg qdel -r pe
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    67
  abort: cannot delete revision 3 above applied patches
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    68
  [255]
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    69
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    70
  $ hg qdel -r qbase:pe
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    71
  patch pd finalized without changeset message
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    72
  patch pe finalized without changeset message
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    73
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    74
  $ hg qapplied
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    75
  pf
3088
dc784839516d mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    76
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    77
  $ hg log --template '{rev} {desc}\n'
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    78
  4 [mq]: pf
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    79
  3 [mq]: pe
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    80
  2 [mq]: pd
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
    81
  1 [mq]: pa
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    82
  0 base
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    83
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    84
  $ cd ..
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    85
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    86
  $ hg init b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    87
  $ cd b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    88
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    89
  $ echo 'base' > base
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    90
  $ hg ci -Ambase -d '1 0'
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    91
  adding base
6645
37eedb1a1848 mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 4736
diff changeset
    92
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    93
  $ hg qfinish
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    94
  abort: no revisions specified
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    95
  [255]
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    96
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    97
  $ hg qfinish -a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
    98
  no patches applied
6645
37eedb1a1848 mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 4736
diff changeset
    99
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   100
  $ hg qnew -d '1 0' pa
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   101
  $ hg qnew -d '1 0' pb
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   102
  $ hg qnew pc # XXX fails to apply by /usr/bin/patch if we put a date
6645
37eedb1a1848 mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 4736
diff changeset
   103
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   104
  $ hg qfinish 0
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   105
  abort: revision 0 is not managed
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   106
  [255]
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   107
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   108
  $ hg qfinish pb
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   109
  abort: cannot delete revision 2 above applied patches
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   110
  [255]
6645
37eedb1a1848 mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 4736
diff changeset
   111
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   112
  $ hg qpop
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   113
  popping pc
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   114
  now at: pb
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   115
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   116
  $ hg qfinish -a pc
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   117
  abort: unknown revision 'pc'!
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   118
  [255]
6645
37eedb1a1848 mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 4736
diff changeset
   119
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   120
  $ hg qpush
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   121
  applying pc
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   122
  patch pc is empty
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   123
  now at: pc
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   124
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   125
  $ hg qfinish qbase:pb
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   126
  patch pa finalized without changeset message
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   127
  patch pb finalized without changeset message
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   128
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   129
  $ hg qapplied
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   130
  pc
6645
37eedb1a1848 mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 4736
diff changeset
   131
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   132
  $ hg log --template '{rev} {desc}\n'
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   133
  3 imported patch pc
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   134
  2 [mq]: pb
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   135
  1 [mq]: pa
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   136
  0 base
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   137
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   138
  $ hg qfinish -a pc
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   139
  patch pc finalized without changeset message
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   140
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   141
  $ hg qapplied
6645
37eedb1a1848 mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 4736
diff changeset
   142
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   143
  $ hg log --template '{rev} {desc}\n'
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   144
  3 imported patch pc
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   145
  2 [mq]: pb
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   146
  1 [mq]: pa
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   147
  0 base
6645
37eedb1a1848 mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 4736
diff changeset
   148
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   149
  $ ls .hg/patches
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   150
  series
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   151
  status
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11365
diff changeset
   152
12658
97d7ee445e98 mq: silence spurious output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12655
diff changeset
   153
qdel -k X && hg qimp -e X used to trigger spurious output with versioned queues
97d7ee445e98 mq: silence spurious output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12655
diff changeset
   154
97d7ee445e98 mq: silence spurious output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12655
diff changeset
   155
  $ hg init --mq
97d7ee445e98 mq: silence spurious output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12655
diff changeset
   156
  $ hg qimport -r 3
97d7ee445e98 mq: silence spurious output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12655
diff changeset
   157
  $ hg qpop
26736
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   158
  popping imported_patch_pc
12658
97d7ee445e98 mq: silence spurious output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12655
diff changeset
   159
  patch queue now empty
26736
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   160
  $ hg qdel -k imported_patch_pc
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   161
  $ hg qimp -e imported_patch_pc
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   162
  adding imported_patch_pc to series file
12658
97d7ee445e98 mq: silence spurious output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12655
diff changeset
   163
  $ hg qfinish -a
97d7ee445e98 mq: silence spurious output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12655
diff changeset
   164
  no patches applied
14010
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   165
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   166
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   167
resilience to inconsistency: qfinish -a with applied patches not in series
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   168
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   169
  $ hg qser
26736
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   170
  imported_patch_pc
14010
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   171
  $ hg qapplied
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   172
  $ hg qpush
26736
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   173
  applying imported_patch_pc
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   174
  patch imported_patch_pc is empty
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   175
  now at: imported_patch_pc
14010
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   176
  $ echo next >>  base
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   177
  $ hg qrefresh -d '1 0'
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   178
  $ echo > .hg/patches/series # remove 3.diff from series to confuse mq
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   179
  $ hg qfinish -a
26736
143b52fce68e mq: generate patch names from first line of description
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
   180
  revision 47dfa8501675 refers to unknown patches: imported_patch_pc
14010
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   181
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   182
more complex state 'both known and unknown patches
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   183
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   184
  $ echo hip >>  base
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   185
  $ hg qnew -f -d '1 0' -m 4 4.diff
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   186
  $ echo hop >>  base
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   187
  $ hg qnew -f -d '1 0' -m 5 5.diff
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   188
  $ echo > .hg/patches/series # remove 4.diff and 5.diff from series to confuse mq
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   189
  $ echo hup >>  base
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   190
  $ hg qnew -f -d '1 0' -m 6 6.diff
15476
7c06e9c35f2f mq: add a warning about uncommitted changes for qfinish
Matt Mackall <mpm@selenic.com>
parents: 14162
diff changeset
   191
  $ echo pup > base
14010
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   192
  $ hg qfinish -a
15476
7c06e9c35f2f mq: add a warning about uncommitted changes for qfinish
Matt Mackall <mpm@selenic.com>
parents: 14162
diff changeset
   193
  warning: uncommitted changes in the working directory
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   194
  revision 2b1c98802260 refers to unknown patches: 5.diff
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14010
diff changeset
   195
  revision 33a6861311c0 refers to unknown patches: 4.diff
14010
d7b4d421b56c mq: prevent traceback when qfinish patches not in series.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 12658
diff changeset
   196
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15476
diff changeset
   197
  $ cd ..