tests/test-abort-checkin.t
author Martin Geisler <mg@lazybytes.net>
Sat, 23 Oct 2010 18:33:57 +0200
branchstable
changeset 12839 d85e30889f26
parent 12327 92e30e135581
child 16913 f2719b387380
permissions -rw-r--r--
patchbomb: fix stray backslash in docstring While both '\ ' and '\\ ' parse the same in Python, the difference trips up hggettext so that it cannot find the docstring in the source file and thus cannot write the right line number to i18n/hg.pot. While the line number is not essential, it can be used to lookup the original message.

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