tests/test-mq-qimport-fail-cleanup.t
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Tue, 07 Dec 2010 16:08:16 +0100
changeset 13121 bf763946f8b0
parent 12465 8b12768b15e2
child 15243 1e9451476bf8
permissions -rw-r--r--
make_file: always return a fresh file handle that can be closed Currently, cmdutil.make_file() will return a freshly made file handle, except when given a pattern of '-'. If callers would want to close the handle, they would have to make sure that it's neither sys.stdin or sys.stdout. Instead, returning a duplicate of either of the two ensures that make_file() lives up to its name and creates a new file handle regardless of the input.

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
  $ echo
  

empty series

  $ hg qseries
  $ echo
  

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]
  $ echo
  

valid patches before fail added to series

  $ hg qseries
  b.patch