Mercurial > public > mercurial-scm > hg-stable
diff tests/test-hook.t @ 27228:10695f8f3323 stable
dirstate: don't write repo.currenttransaction to repo.dirstate if repo
is None (issue4983)
Some hooks, such as post-init and post-clone, do not get a repo parameter in
their environment. If there is no repo, there is no repo.currenttransaction();
attempting to retrieve it anyway was causing crashes. Now currenttransaction is
only retrieved and written if the repo is not None.
author | Sietse Brouwer <sbbrouwer@gmail.com> |
---|---|
date | Thu, 03 Dec 2015 01:38:21 +0100 |
parents | 10a1a4b3e775 |
children | 42aa0e570eaa |
line wrap: on
line diff
--- a/tests/test-hook.t Wed Dec 02 14:20:13 2015 -0800 +++ b/tests/test-hook.t Thu Dec 03 01:38:21 2015 +0100 @@ -681,10 +681,19 @@ $ hg tag -f foo ['a', 'foo', 'tip'] +post-init hooks must not crash (issue4983) +This also creates the `to` repo for the next test block. + + $ cd .. + $ cat << EOF >> hgrc-with-post-init-hook + > [hooks] + > post-init = printenv.py post-init + > EOF + $ HGRCPATH=hgrc-with-post-init-hook hg init to + post-init hook: HG_ARGS=init to HG_OPTS={'insecure': None, 'remotecmd': '', 'ssh': ''} HG_PATS=['to'] HG_RESULT=0 + new commits must be visible in pretxnchangegroup (issue3428) - $ cd .. - $ hg init to $ echo '[hooks]' >> to/.hg/hgrc $ echo 'prechangegroup = hg --traceback tip' >> to/.hg/hgrc $ echo 'pretxnchangegroup = hg --traceback tip' >> to/.hg/hgrc