tests/test-mq-qimport-fail-cleanup.t
author Idan Kamara <idankk86@gmail.com>
Tue, 29 May 2012 18:27:12 +0300
branchstable
changeset 16805 9a99224a6409
parent 16107 a3dcc59054ca
child 16913 f2719b387380
permissions -rw-r--r--
localrepo: clear _filecache earlier to really force reloading (issue3462) ce0ad184f489 attempted to force the filecaches in localrepo to reload everything after a rollback. But simply clearing _filecache isn't enough, invalidate() needs to be called before/after. localrepo._rollback calls invalidate() already, so we clear the map right afterwards which ensures everything will be reread.

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]