Mercurial > hg-stable
diff mercurial/hook.py @ 28109:b892e424f88c
hook: don't crash on syntax errors in python hooks
We had some real-world cases where syntax errors in Python hooks would crash
the whole process and leave it in an indeterminate state. Handle those better.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Fri, 12 Feb 2016 14:50:10 -0800 |
parents | 2a71d9483199 |
children | 44bd37af54e5 |
line wrap: on
line diff
--- a/mercurial/hook.py Fri Feb 12 11:44:35 2016 -0800 +++ b/mercurial/hook.py Fri Feb 12 14:50:10 2016 -0800 @@ -49,12 +49,12 @@ with demandimport.deactivated(): try: obj = __import__(modname) - except ImportError: + except (ImportError, SyntaxError): e1 = sys.exc_info() try: # extensions are loaded with hgext_ prefix obj = __import__("hgext_%s" % modname) - except ImportError: + except (ImportError, SyntaxError): e2 = sys.exc_info() if ui.tracebackflag: ui.warn(_('exception from first failed import '