diff -r 6b81309d15a7 -r df0ce98c882f tests/test-bundle2-exchange.t --- a/tests/test-bundle2-exchange.t Thu Apr 23 14:54:45 2015 +0100 +++ b/tests/test-bundle2-exchange.t Thu Apr 23 16:36:18 2015 +0100 @@ -619,3 +619,51 @@ $ ls -1 other/.hg/store/00changelog.i* other/.hg/store/00changelog.i +Check error from hook during the unbundling process itself + + $ cat << EOF >> $HGRCPATH + > pretxnchangegroup = echo "Fail early!"; false + > EOF + $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS # reload http config + $ hg -R other serve -p $HGPORT2 -d --pid-file=other.pid -E other-error.log + $ cat other.pid >> $DAEMON_PIDS + + $ hg -R main push other -r e7ec4e813ba6 + pushing to other + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 1 changesets with 1 changes to 1 files + remote: Fail early! + remote: transaction abort! + remote: Cleaning up the mess... + remote: rollback completed + abort: pretxnchangegroup hook exited with status 1 + [255] + $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6 + pushing to ssh://user@dummy/other + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 1 changesets with 1 changes to 1 files + remote: Fail early! + remote: transaction abort! + remote: Cleaning up the mess... + remote: rollback completed + abort: pretxnchangegroup hook exited with status 1 + [255] + $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6 + pushing to http://localhost:$HGPORT2/ + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 1 changesets with 1 changes to 1 files + remote: Fail early! + remote: transaction abort! + remote: Cleaning up the mess... + remote: rollback completed + abort: pretxnchangegroup hook exited with status 1 + [255]