Mercurial > hg
view tests/test-abort-checkin.t @ 23534:83bbedc16b3f
addremove: warn when addremove fails to operate on a named path
It looks like a bad path is the only mode of failure for addremove. This
warning is probably useful for the standalone command, but more important for
'commit -A'. That command doesn't currently abort if the addremove fails, but
it will be made to do so prior to adding subrepo support, since not all subrepos
will support addremove. We could just abort here, but it looks like addremove
has always silently ignored bad paths, except for the exit code.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Wed, 26 Nov 2014 14:27:36 -0500 |
parents | e955549cd045 |
children | 56b2bcea2529 |
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 $ 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 ..