tests/test-abort-checkin.t
author Lucas Moscovicz <lmoscovicz@fb.com>
Thu, 06 Mar 2014 14:52:07 -0800
changeset 21109 4b15a369e067
parent 16913 f2719b387380
child 23172 e955549cd045
permissions -rw-r--r--
largefiles: added test coverage for graph log [Mads Kiilerich placed this patch before the patch that makes graphlog actually work correctly for largefiles. As it is introduced here it just adds test coverage and the actual bugfix patch will show the actual change.]

  $ cat > abortcommit.py <<EOF
  > from mercurial import util
  > def hook(**args):
  >     raise util.Abort("no commits allowed")
  > def reposetup(ui, repo):
  >     repo.ui.setconfig("hooks", "pretxncommit.nocommits", hook)
  > EOF
  $ abspath=`pwd`/abortcommit.py

  $ echo "[extensions]" >> $HGRCPATH
  $ echo "mq=" >> $HGRCPATH
  $ echo "abortcommit = $abspath" >> $HGRCPATH

  $ hg init foo
  $ cd foo
  $ echo foo > foo
  $ hg add foo

mq may keep a reference to the repository so __del__ will not be
called and .hg/journal.dirstate will not be deleted:

  $ hg ci -m foo
  error: pretxncommit.nocommits hook failed: no commits allowed
  transaction abort!
  rollback completed
  abort: no commits allowed
  [255]
  $ hg ci -m foo
  error: pretxncommit.nocommits hook failed: no commits allowed
  transaction abort!
  rollback completed
  abort: no commits allowed
  [255]

  $ cd ..