tests/test-mq-qpush-fail.t
author Patrick Mezard <patrick@mezard.eu>
Fri, 11 May 2012 16:18:47 +0200
branchstable
changeset 16634 435375cc0ca0
parent 16633 b2ca2f40c9c1
child 16635 9d76320d8b99
permissions -rw-r--r--
mq: backup local changes in qpush --force qpush help says the following about --force: 1- When -f/--force is applied, all local changes in patched files will be lost. 2- Apply on top of local changes In practice, qpush --force will attempt to apply the patch on top of local changes, and on success will merge them in the pushed patch. On failure, patched files will contain a mix of local changes (where the patch could not apply) and a mix of patch changes (were it applied). So, local changes are less lost than entangled with a mass of other changes. This patch makes qpush --force backup all locally modified files touched by the next patch being applied. When multiple patches are being pushed, this logic is repeated for each patch. Note that modified but successfully patched files are preserved as well.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
     1
Test that qpush cleans things up if it doesn't complete
4658
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     2
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
     3
  $ echo "[extensions]" >> $HGRCPATH
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
     4
  $ echo "mq=" >> $HGRCPATH
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
     5
  $ hg init repo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
     6
  $ cd repo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
     7
  $ echo foo > foo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
     8
  $ hg ci -Am 'add foo'
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
     9
  adding foo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    10
  $ touch untracked-file
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    11
  $ echo 'syntax: glob' > .hgignore
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    12
  $ echo '.hgignore' >> .hgignore
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    13
  $ hg qinit
8795
51c29aec0b75 mq: eliminate warning on qpush with empty series
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    14
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    15
test qpush on empty series
4658
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    16
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    17
  $ hg qpush
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    18
  no patches in series
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    19
  $ hg qnew patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    20
  $ echo >> foo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    21
  $ hg qrefresh -m 'patch 1'
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    22
  $ hg qnew patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    23
  $ echo bar > bar
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    24
  $ hg add bar
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    25
  $ hg qrefresh -m 'patch 2'
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    26
  $ hg qnew --config 'mq.plain=true' bad-patch
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    27
  $ echo >> foo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    28
  $ hg qrefresh
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    29
  $ hg qpop -a
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    30
  popping bad-patch
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    31
  popping patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    32
  popping patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    33
  patch queue now empty
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    34
  $ python -c 'print "\xe9"' > message
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    35
  $ cat .hg/patches/bad-patch >> message
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    36
  $ mv message .hg/patches/bad-patch
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    37
  $ hg qpush -a && echo 'qpush succeded?!'
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    38
  applying patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    39
  applying patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    40
  applying bad-patch
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    41
  transaction abort!
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    42
  rollback completed
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    43
  cleaning up working directory...done
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12467
diff changeset
    44
  abort: decoding near '\xe9': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)! (esc)
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    45
  [255]
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    46
  $ hg parents
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    47
  changeset:   0:bbd179dfa0a7
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    48
  tag:         tip
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    49
  user:        test
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    50
  date:        Thu Jan 01 00:00:00 1970 +0000
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    51
  summary:     add foo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    52
  
4658
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    53
13508
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    54
test corrupt status file
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    55
  $ hg qpush
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    56
  applying patch1
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    57
  now at: patch1
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    58
  $ cp .hg/patches/status .hg/patches/status.orig
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    59
  $ hg qpop
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    60
  popping patch1
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    61
  patch queue now empty
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    62
  $ cp .hg/patches/status.orig .hg/patches/status
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    63
  $ hg qpush
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    64
  mq status file refers to unknown node * (glob)
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    65
  abort: working directory revision is not qtip
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    66
  [255]
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    67
  $ rm .hg/patches/status .hg/patches/status.orig
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    68
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    69
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    70
bar should be gone; other unknown/ignored files should still be around
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    71
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    72
  $ hg status -A
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    73
  ? untracked-file
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    74
  I .hgignore
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    75
  C foo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    76
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    77
preparing qpush of a missing patch
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    78
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    79
  $ hg qpop -a
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    80
  no patches applied
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    81
  $ hg qpush
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    82
  applying patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    83
  now at: patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    84
  $ rm .hg/patches/patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    85
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    86
now we expect the push to fail, but it should NOT complain about patch1
8875
801cacf46e62 mq: fix error message for qpush inexistent-patch (issue1702)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8795
diff changeset
    87
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    88
  $ hg qpush
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    89
  applying patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    90
  unable to read patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    91
  now at: patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    92
  [1]
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    93
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    94
preparing qpush of missing patch with no patch applied
8875
801cacf46e62 mq: fix error message for qpush inexistent-patch (issue1702)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8795
diff changeset
    95
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    96
  $ hg qpop -a
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    97
  popping patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    98
  patch queue now empty
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    99
  $ rm .hg/patches/patch1
9590
07a62819b309 mq: fix traceback for qpush inexistant-patch with no patch applied
Benoit Allard <benoit@aeteurope.nl>
parents: 8875
diff changeset
   100
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   101
qpush should fail the same way as below
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   102
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   103
  $ hg qpush
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   104
  applying patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   105
  unable to read patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   106
  [1]
13369
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   107
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   108
Test qpush to a patch below the currently applied patch.
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   109
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   110
  $ hg qq -c guardedseriesorder
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   111
  $ hg qnew a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   112
  $ hg qguard +block
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   113
  $ hg qnew b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   114
  $ hg qnew c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   115
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   116
  $ hg qpop -a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   117
  popping c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   118
  popping b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   119
  popping a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   120
  patch queue now empty
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   121
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   122
try to push and pop while a is guarded
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   123
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   124
  $ hg qpush a
14464
00256f689f9c mq: print "'foo' 'bar'", not "['foo', 'bar']" when showing guards
Martin Geisler <mg@aragost.com>
parents: 13508
diff changeset
   125
  cannot push 'a' - guarded by '+block'
13369
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   126
  [1]
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   127
  $ hg qpush -a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   128
  applying b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   129
  patch b is empty
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   130
  applying c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   131
  patch c is empty
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   132
  now at: c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   133
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   134
now try it when a is unguarded, and we're at the top of the queue
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   135
  $ hg qsel block
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   136
  number of guarded, applied patches has changed from 1 to 0
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   137
  $ hg qpush b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   138
  abort: cannot push to a previous patch: b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   139
  [255]
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   140
  $ hg qpush a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   141
  abort: cannot push to a previous patch: a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   142
  [255]
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   143
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   144
and now we try it one more time with a unguarded, while we're not at the top of the queue
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   145
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   146
  $ hg qpop b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   147
  popping c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   148
  now at: b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   149
  $ hg qpush a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   150
  abort: cannot push to a previous patch: a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   151
  [255]
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   152
16633
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   153
test qpop --force and backup files
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   154
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   155
  $ hg qpop -a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   156
  popping b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   157
  patch queue now empty
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   158
  $ hg qq --create force
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   159
  $ echo a > a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   160
  $ echo b > b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   161
  $ echo c > c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   162
  $ hg ci -Am add a b c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   163
  $ echo a >> a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   164
  $ hg rm b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   165
  $ hg rm c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   166
  $ hg qnew p1
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   167
  $ echo a >> a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   168
  $ echo bb > b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   169
  $ hg add b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   170
  $ echo cc > c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   171
  $ hg add c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   172
  $ hg qpop --force --verbose
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   173
  saving current version of a as a.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   174
  saving current version of b as b.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   175
  saving current version of c as c.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   176
  popping p1
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   177
  patch queue now empty
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   178
  $ hg st
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   179
  ? a.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   180
  ? b.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   181
  ? c.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   182
  ? untracked-file
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   183
  $ cat a.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   184
  a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   185
  a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   186
  a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   187
  $ cat b.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   188
  bb
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   189
  $ cat c.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   190
  cc
16634
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   191
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   192
test qpush --force and backup files
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   193
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   194
  $ echo a >> a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   195
  $ hg qnew p2
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   196
  $ echo b >> b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   197
  $ echo d > d
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   198
  $ echo e > e
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   199
  $ hg add d e
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   200
  $ hg rm c
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   201
  $ hg qnew p3
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   202
  $ hg qpop -a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   203
  popping p3
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   204
  popping p2
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   205
  patch queue now empty
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   206
  $ echo a >> a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   207
  $ echo b1 >> b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   208
  $ echo d1 > d
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   209
  $ hg add d
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   210
  $ echo e1 > e
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   211
  $ hg qpush -a --force --verbose
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   212
  applying p2
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   213
  saving current version of a as a.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   214
  patching file a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   215
  a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   216
  applying p3
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   217
  saving current version of b as b.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   218
  saving current version of d as d.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   219
  patching file b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   220
  patching file c
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   221
  patching file d
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   222
  file d already exists
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   223
  1 out of 1 hunks FAILED -- saving rejects to file d.rej
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   224
  patching file e
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   225
  file e already exists
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   226
  1 out of 1 hunks FAILED -- saving rejects to file e.rej
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   227
  patch failed to apply
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   228
  b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   229
  patch failed, rejects left in working dir
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   230
  errors during apply, please fix and refresh p3
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   231
  [2]
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   232
  $ cat a.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   233
  a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   234
  a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   235
  $ cat b.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   236
  b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   237
  b1
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   238
  $ cat d.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   239
  d1