Mercurial > hg
view tests/test-abort-checkin.t @ 34441:50474f0b3f1b
changelog: use a Factory for default value for files
The default value is compiled into the generated type. This means
that default values are shared between instances. For immutable types
like bool, str, int, and tuple, this is fine. But for mutable types
like list and dict, we need to use attr.Factory() to instantiate a
new instance of the default for each object.
Differential Revision: https://phab.mercurial-scm.org/D901
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 02 Oct 2017 11:03:53 +0100 |
parents | 56b2bcea2529 |
children | f798709eb4b9 |
line wrap: on
line source
$ cat > abortcommit.py <<EOF > from mercurial import error > def hook(**args): > raise error.Abort("no commits allowed") > def reposetup(ui, repo): > repo.ui.setconfig("hooks", "pretxncommit.nocommits", hook) > EOF $ abspath=`pwd`/abortcommit.py $ cat <<EOF >> $HGRCPATH > [extensions] > mq = > abortcommit = $abspath > EOF $ 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 ..