Mercurial > hg
view tests/test-abort-checkin.t @ 17324:9f94358f9f93 stable
localrepo: clear the filecache on _rollback() and destroyed()
This restores the old behaviour of clearing the filecache when the repo is
destroyed but combines it with also clearing it on _rollback. Before, we tried
to only call it through _rollback but that ruined callers of destroyed.
Doing it on both code paths covers destroyed being called from somewhere
else, e.g. strip.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Sat, 28 Jul 2012 22:40:30 +0300 |
parents | f2719b387380 |
children | e955549cd045 |
line wrap: on
line source
$ 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 ..