tests/test-mq-qimport-fail-cleanup.t
author David Soria Parra <davidsp@fb.com>
Wed, 06 Aug 2014 13:26:04 -0700
changeset 22149 16ef2c485f03
parent 16913 f2719b387380
child 29972 0342bf292f73
permissions -rw-r--r--
repoview: split _gethiddenblockers Split up _gethiddenblockers into two categories: (1) "static' blockers that solely rely on the contents of obstore and are visible children of hidden changsets. (2) "dynamic" blockers, appearing by having wd parents, bookmarks or tags pointing to hidden changesets. We assume that (1) doesn't change often and can be easily cached with a good invalidation strategy. (2) change often, but barely produce blockers, so we can recompute them if necessary.

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 ..