tests/test-mq-qimport-fail-cleanup.t
author Bryan O'Sullivan <bos@serpentine.com>
Tue, 22 Dec 2015 21:38:06 -0800
changeset 27511 44a596a8bed1
parent 16913 f2719b387380
child 29968 0342bf292f73
permissions -rw-r--r--
check-seclevel: pass a ui to the extension loader Without this, if an import error occurs (as with pypy), the attempt to report it fails since ui is None.

Failed qimport of patches from files should cleanup by recording successfully
imported patches in series file.

  $ echo "[extensions]" >> $HGRCPATH
  $ echo "mq=" >> $HGRCPATH
  $ hg init repo
  $ cd repo
  $ echo a > a
  $ hg ci -Am'add a'
  adding a
  $ cat >b.patch<<EOF
  > diff --git a/a b/a
  > --- a/a
  > +++ b/a
  > @@ -1,1 +1,2 @@
  >  a
  > +b
  > EOF

empty series

  $ hg qseries

qimport valid patch followed by invalid patch

  $ hg qimport b.patch fakepatch
  adding b.patch to series file
  abort: unable to read file fakepatch
  [255]

valid patches before fail added to series

  $ hg qseries
  b.patch

  $ hg pull -q -r 0 . # update phase
  $ hg qimport -r 0
  abort: revision 0 is not mutable
  (see "hg help phases" for details)
  [255]

  $ cd ..