[PATCH stable, V2] hook: disable demandimport before importing hooks

Matt Mackall mpm at selenic.com
Thu Dec 20 16:19:57 CST 2012


On Thu, 2012-12-20 at 21:27 +0100, Dirkjan Ochtman wrote:
> # HG changeset patch
> # User Dirkjan Ochtman <dirkjan at ochtman.nl>
> # Date 1356035190 -3600
> # Node ID 3b56bf3b05f70052ae8c3d09ee7c11feb84a8986
> # Parent  e853d27956fb0a25dcaac29b18bb0d5719297830
> hook: disable demandimport before importing hooks
> 
> This solved an obscure bug for me. In upgrading Distribute on the server, a
> patch was added to has a try: import a except ImportError thing that's only
> supposed to work with Python 3.3. I'm using 2.7. My hook failed with an
> ImportError because of this. It seems kind of sensible to turn off
> demandimport before importing the hook, since the except ImportError pattern
> is used quite a bit in Python code (including in other Distribute code).

I'd rather document this as a caveat of writing in-process Mercurial
hooks, if only to further discourage people from such an undertaking.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list