tests/test-mq-qpush-fail.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Thu, 07 May 2015 12:07:10 +0900
changeset 24992 7df090c9c9fe
parent 24826 9b02b678888e
child 26654 30657909b2ba
permissions -rw-r--r--
localrepo: use changelog.hasnode instead of self.__contains__ Before this patch, releasing the store lock implies the actions below, when the transaction is aborted: 1. "commithook()" scheduled in "localrepository.commit()" is invoked 2. "changectx.__init__()" is invoked via "self.__contains__()" 3. specified ID is examined against "repo.dirstate.p1()" 4. validation function is invoked in "dirstate.p1()" In subsequent patches, "dirstate.invalidate()" invocations for discarding changes are replaced with "dirstateguard", but discarding changes by "dirstateguard" is executed after releasing the store lock: resources are acquired in "wlock => dirstateguard => store lock" order, and are released in reverse order. This may cause that "dirstate.p1()" still refers to the changeset to be rolled-back at (4) above: pushing multiple patches by "hg qpush" is a typical case. When releasing the store lock, such changesets are: - not contained in "repo.changelog", if it is reloaded from ".hg/00changelog.i", as that file was already truncated by "transaction.abort()" - still contained in it, otherwise (this "dirty read" problem is discussed in "Transaction Plan" http://mercurial.selenic.com/wiki/TransactionPlan) Validation function shows "unknown working parent" warning in the former case, but reloading "repo.changelog" depends on the timestamp of ".hg/00changelog.i". This causes occasional test failures. In the case of scheduled "commithook()", it just wants to examine whether "node ID" of committed changeset is still valid or not. Other examinations implied in "changectx.__init__()" are meaningless. To avoid showing the "unknown working parent" warning irregularly, this patch uses "changelog.hasnode()" instead of "node in self" to examine existence of committed changeset.
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'
22545
6a2cfa61acb0 mq: upgrade non-plain patches to HG format when setting parent in patchheader
Mads Kiilerich <madski@unity3d.com>
parents: 22453
diff changeset
    26
  $ hg qnew --config 'mq.plain=true' -U bad-patch
12467
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
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22545
diff changeset
    34
  $ $PYTHON -c 'print "\xe9"' > message
12467
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
24992
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    37
  $ cat > $TESTTMP/wrapplayback.py <<EOF
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    38
  > import os
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    39
  > from mercurial import extensions, transaction
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    40
  > def wrapplayback(orig,
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    41
  >                  journal, report, opener, vfsmap, entries, backupentries,
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    42
  >                  unlink=True):
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    43
  >     orig(journal, report, opener, vfsmap, entries, backupentries, unlink)
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    44
  >     # Touching files truncated at "transaction.abort" causes
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    45
  >     # forcible re-loading invalidated filecache properties
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    46
  >     # (including repo.changelog)
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    47
  >     for f, o, _ignore in entries:
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    48
  >         if o or not unlink:
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    49
  >             os.utime(opener.join(f), (0.0, 0.0))
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    50
  > def extsetup(ui):
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    51
  >     extensions.wrapfunction(transaction, '_playback', wrapplayback)
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    52
  > EOF
7df090c9c9fe localrepo: use changelog.hasnode instead of self.__contains__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24826
diff changeset
    53
  $ hg qpush -a --config extensions.wrapplayback=$TESTTMP/wrapplayback.py  && echo 'qpush succeeded?!'
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    54
  applying patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    55
  applying patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    56
  applying bad-patch
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    57
  transaction abort!
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    58
  rollback completed
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    59
  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
    60
  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
    61
  [255]
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    62
  $ hg parents
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    63
  changeset:   0:bbd179dfa0a7
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    64
  tag:         tip
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    65
  user:        test
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    66
  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
    67
  summary:     add foo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    68
  
4658
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    69
13508
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    70
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
    71
  $ hg qpush
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    72
  applying patch1
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    73
  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
    74
  $ 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
    75
  $ hg qpop
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    76
  popping patch1
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    77
  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
    78
  $ 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
    79
  $ hg qpush
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    80
  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
    81
  [255]
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    82
  $ 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
    83
0396ca8015be mq: fix qpush recursion in _findtags when status file is wrong (issue2664)
Matt Mackall <mpm@selenic.com>
parents: 13369
diff changeset
    84
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    85
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
    86
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    87
  $ hg status -A
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    88
  ? untracked-file
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    89
  I .hgignore
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    90
  C foo
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    91
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    92
preparing qpush of a missing patch
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
  $ hg qpop -a
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    95
  no patches applied
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    96
  $ hg qpush
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    97
  applying patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    98
  now at: patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
    99
  $ rm .hg/patches/patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   100
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   101
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
   102
12467
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 patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   105
  unable to read patch2
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   106
  now at: patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   107
  [1]
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   108
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   109
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
   110
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   111
  $ hg qpop -a
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   112
  popping patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   113
  patch queue now empty
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   114
  $ 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
   115
12467
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   116
qpush should fail the same way as below
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   117
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   118
  $ hg qpush
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   119
  applying patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   120
  unable to read patch1
05e1171cf4ca tests: unify test-mq-qpush-fail
Matt Mackall <mpm@selenic.com>
parents: 10397
diff changeset
   121
  [1]
13369
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   122
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   123
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
   124
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   125
  $ hg qq -c guardedseriesorder
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   126
  $ hg qnew a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   127
  $ hg qguard +block
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   128
  $ hg qnew b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   129
  $ hg qnew c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   130
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   131
  $ hg qpop -a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   132
  popping c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   133
  popping b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   134
  popping a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   135
  patch queue now empty
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   136
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   137
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
   138
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   139
  $ hg qpush a
14464
00256f689f9c mq: print "'foo' 'bar'", not "['foo', 'bar']" when showing guards
Martin Geisler <mg@aragost.com>
parents: 13508
diff changeset
   140
  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
   141
  [1]
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   142
  $ hg qpush -a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   143
  applying b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   144
  patch b is empty
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   145
  applying c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   146
  patch c is empty
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   147
  now at: c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   148
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   149
now try it when a is unguarded, and we're at the top of the queue
22453
fd0f0b0d316d mq: report correct numbers for changing "number of guarded, applied patches"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18217
diff changeset
   150
fd0f0b0d316d mq: report correct numbers for changing "number of guarded, applied patches"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18217
diff changeset
   151
  $ hg qapplied -v
fd0f0b0d316d mq: report correct numbers for changing "number of guarded, applied patches"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18217
diff changeset
   152
  0 G a
fd0f0b0d316d mq: report correct numbers for changing "number of guarded, applied patches"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18217
diff changeset
   153
  1 A b
fd0f0b0d316d mq: report correct numbers for changing "number of guarded, applied patches"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18217
diff changeset
   154
  2 A c
13369
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   155
  $ hg qsel block
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   156
  $ hg qpush b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   157
  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
   158
  [255]
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   159
  $ hg qpush a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   160
  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
   161
  [255]
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   162
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   163
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
   164
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   165
  $ hg qpop b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   166
  popping c
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   167
  now at: b
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   168
  $ hg qpush a
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   169
  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
   170
  [255]
69238d0ca60f mq: catch attempt to qpush to an earlier patch (issue2587)
Afuna <afunamatata@gmail.com>
parents: 12942
diff changeset
   171
16633
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   172
test qpop --force and backup files
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   173
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   174
  $ hg qpop -a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   175
  popping b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   176
  patch queue now empty
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   177
  $ hg qq --create force
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   178
  $ echo a > a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   179
  $ echo b > b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   180
  $ echo c > c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   181
  $ 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
   182
  $ echo a >> a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   183
  $ hg rm b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   184
  $ hg rm c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   185
  $ hg qnew p1
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   186
  $ echo a >> a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   187
  $ echo bb > b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   188
  $ hg add b
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   189
  $ echo cc > c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   190
  $ hg add c
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   191
  $ hg qpop --force --verbose
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   192
  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
   193
  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
   194
  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
   195
  popping p1
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   196
  patch queue now empty
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   197
  $ hg st
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   198
  ? a.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   199
  ? b.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   200
  ? c.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   201
  ? untracked-file
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   202
  $ cat a.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   203
  a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   204
  a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   205
  a
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   206
  $ cat b.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   207
  bb
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   208
  $ cat c.orig
b2ca2f40c9c1 mq: backup local changes in qpop --force (issue3433)
Patrick Mezard <patrick@mezard.eu>
parents: 14464
diff changeset
   209
  cc
16634
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   210
16635
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   211
test qpop --force --no-backup
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   212
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   213
  $ hg qpush
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   214
  applying p1
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   215
  now at: p1
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   216
  $ rm a.orig
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   217
  $ echo a >> a
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   218
  $ hg qpop --force --no-backup --verbose
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   219
  popping p1
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   220
  patch queue now empty
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   221
  $ test -f a.orig && echo 'error: backup with --no-backup'
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   222
  [1]
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   223
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   224
test qpop --keep-changes
16653
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   225
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   226
  $ hg qpush
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   227
  applying p1
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   228
  now at: p1
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   229
  $ hg qpop --keep-changes --force
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   230
  abort: cannot use both --force and --keep-changes
16653
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   231
  [255]
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   232
  $ echo a >> a
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   233
  $ hg qpop --keep-changes
16653
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   234
  abort: local changes found, refresh first
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   235
  [255]
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   236
  $ hg revert -qa a
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   237
  $ rm a
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   238
  $ hg qpop --keep-changes
16653
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   239
  abort: local changes found, refresh first
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   240
  [255]
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   241
  $ hg rm -A a
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   242
  $ hg qpop --keep-changes
16653
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   243
  abort: local changes found, refresh first
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   244
  [255]
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   245
  $ hg revert -qa a
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   246
  $ echo b > b
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   247
  $ hg add b
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   248
  $ hg qpop --keep-changes
16653
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   249
  abort: local changes found, refresh first
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   250
  [255]
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   251
  $ hg forget b
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   252
  $ echo d > d
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   253
  $ hg add d
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   254
  $ hg qpop --keep-changes
16653
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   255
  popping p1
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   256
  patch queue now empty
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   257
  $ hg forget d
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   258
  $ rm d
73b8c2554be8 mq: introduce qpop --check
Patrick Mezard <patrick@mezard.eu>
parents: 16635
diff changeset
   259
16634
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   260
test qpush --force and backup files
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   261
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   262
  $ echo a >> a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   263
  $ hg qnew p2
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   264
  $ echo b >> b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   265
  $ echo d > d
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   266
  $ echo e > e
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   267
  $ hg add d e
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   268
  $ hg rm c
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   269
  $ hg qnew p3
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   270
  $ hg qpop -a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   271
  popping p3
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   272
  popping p2
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   273
  patch queue now empty
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   274
  $ echo a >> a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   275
  $ echo b1 >> b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   276
  $ echo d1 > d
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   277
  $ hg add d
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   278
  $ echo e1 > e
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   279
  $ hg qpush -a --force --verbose
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   280
  applying p2
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   281
  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
   282
  patching file a
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   283
  committing files:
16634
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   284
  a
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   285
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   286
  committing changelog
16634
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   287
  applying p3
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   288
  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
   289
  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
   290
  patching file b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   291
  patching file c
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   292
  patching file d
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   293
  file d already exists
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   294
  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
   295
  patching file e
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   296
  file e already exists
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   297
  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
   298
  patch failed to apply
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   299
  committing files:
16634
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   300
  b
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   301
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   302
  committing changelog
24365
f1eaf03dd608 commands: say "working directory" in full spelling
Yuya Nishihara <yuya@tcha.org>
parents: 23749
diff changeset
   303
  patch failed, rejects left in working directory
16634
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   304
  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
   305
  [2]
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   306
  $ cat a.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   307
  a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   308
  a
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   309
  $ cat b.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   310
  b
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   311
  b1
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   312
  $ cat d.orig
435375cc0ca0 mq: backup local changes in qpush --force
Patrick Mezard <patrick@mezard.eu>
parents: 16633
diff changeset
   313
  d1
16635
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   314
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   315
test qpush --force --no-backup
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   316
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   317
  $ hg revert -qa
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   318
  $ hg qpop -a
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   319
  popping p3
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   320
  popping p2
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   321
  patch queue now empty
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   322
  $ echo a >> a
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   323
  $ rm a.orig
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   324
  $ hg qpush --force --no-backup --verbose
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   325
  applying p2
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   326
  patching file a
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   327
  committing files:
16635
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   328
  a
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   329
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   330
  committing changelog
16635
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   331
  now at: p2
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   332
  $ test -f a.orig && echo 'error: backup with --no-backup'
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   333
  [1]
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   334
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   335
test qgoto --force --no-backup
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   336
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   337
  $ hg qpop
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   338
  popping p2
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   339
  patch queue now empty
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   340
  $ echo a >> a
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   341
  $ hg qgoto --force --no-backup p2 --verbose
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   342
  applying p2
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   343
  patching file a
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   344
  committing files:
16635
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   345
  a
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   346
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22947
diff changeset
   347
  committing changelog
16635
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   348
  now at: p2
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   349
  $ test -f a.orig && echo 'error: backup with --no-backup'
9d76320d8b99 mq: add --no-backup for qpush/qpop/qgoto
Patrick Mezard <patrick@mezard.eu>
parents: 16634
diff changeset
   350
  [1]
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   351
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   352
test qpush --keep-changes
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   353
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   354
  $ hg qpush --keep-changes --force
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   355
  abort: cannot use both --force and --keep-changes
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   356
  [255]
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   357
  $ hg qpush --keep-changes --exact
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   358
  abort: cannot use --exact and --keep-changes together
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   359
  [255]
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   360
  $ echo b >> b
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   361
  $ hg qpush --keep-changes
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   362
  applying p3
24826
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   363
  abort: conflicting local changes found
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   364
  (did you forget to qrefresh?)
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   365
  [255]
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   366
  $ rm b
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   367
  $ hg qpush --keep-changes
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   368
  applying p3
24826
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   369
  abort: conflicting local changes found
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   370
  (did you forget to qrefresh?)
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   371
  [255]
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   372
  $ hg rm -A b
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   373
  $ hg qpush --keep-changes
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   374
  applying p3
24826
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   375
  abort: conflicting local changes found
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   376
  (did you forget to qrefresh?)
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   377
  [255]
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   378
  $ hg revert -aq b
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   379
  $ echo d > d
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   380
  $ hg add d
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   381
  $ hg qpush --keep-changes
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   382
  applying p3
24826
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   383
  abort: conflicting local changes found
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   384
  (did you forget to qrefresh?)
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   385
  [255]
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   386
  $ hg forget d
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   387
  $ rm d
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   388
  $ hg qpop
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   389
  popping p2
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   390
  patch queue now empty
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   391
  $ echo b >> b
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   392
  $ hg qpush -a --keep-changes
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   393
  applying p2
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   394
  applying p3
24826
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   395
  abort: conflicting local changes found
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   396
  (did you forget to qrefresh?)
9b02b678888e mq: avoid silent failure when single patch doesn't apply (issue4604)
Matt Mackall <mpm@selenic.com>
parents: 24365
diff changeset
   397
  [255]
16654
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   398
  $ hg qtop
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   399
  p2
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   400
  $ hg parents --template "{rev} {desc}\n"
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   401
  2 imported patch p2
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   402
  $ hg st b
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   403
  M b
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   404
  $ cat b
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   405
  b
490ed8972f1b mq: introduce qpush --check
Patrick Mezard <patrick@mezard.eu>
parents: 16653
diff changeset
   406
  b
16655
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   407
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   408
test qgoto --keep-changes
16655
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   409
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   410
  $ hg revert -aq b
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   411
  $ rm e
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   412
  $ hg qgoto --keep-changes --force p3
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   413
  abort: cannot use both --force and --keep-changes
16655
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   414
  [255]
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   415
  $ echo a >> a
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   416
  $ hg qgoto --keep-changes p3
16655
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   417
  applying p3
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   418
  now at: p3
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   419
  $ hg st a
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   420
  M a
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   421
  $ hg qgoto --keep-changes p2
16655
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   422
  popping p3
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   423
  now at: p2
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   424
  $ hg st a
6ca125af882f mq: introduce qgoto --check
Patrick Mezard <patrick@mezard.eu>
parents: 16654
diff changeset
   425
  M a
16656
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   426
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   427
test mq.keepchanges setting
16656
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   428
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   429
  $ hg --config mq.keepchanges=1 qpush
16656
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   430
  applying p3
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   431
  now at: p3
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   432
  $ hg st a
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   433
  M a
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   434
  $ hg --config mq.keepchanges=1 qpop
16656
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   435
  popping p3
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   436
  now at: p2
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   437
  $ hg st a
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   438
  M a
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   439
  $ hg --config mq.keepchanges=1 qgoto p3
16656
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   440
  applying p3
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   441
  now at: p3
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   442
  $ hg st a
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   443
  M a
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   444
  $ echo b >> b
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   445
  $ hg --config mq.keepchanges=1 qpop --force
16656
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   446
  popping p3
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   447
  now at: p2
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   448
  $ hg st b
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   449
  $ hg --config mq.keepchanges=1 qpush --exact
16656
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   450
  abort: local changes found, refresh first
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   451
  [255]
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   452
  $ hg revert -qa a
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   453
  $ hg qpop
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   454
  popping p2
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   455
  patch queue now empty
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   456
  $ echo a >> a
16733
4da10c00a20c mq: rename --check into --keep-changes
Patrick Mezard <patrick@mezard.eu>
parents: 16656
diff changeset
   457
  $ hg --config mq.keepchanges=1 qpush --force
16656
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   458
  applying p2
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   459
  now at: p2
4ae3ba9e4d7a mq: introduce mq.check setting
Patrick Mezard <patrick@mezard.eu>
parents: 16655
diff changeset
   460
  $ hg st a
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16733
diff changeset
   461
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16733
diff changeset
   462
  $ cd ..