Mercurial > public > mercurial-scm > hg-stable
diff mercurial/hook.py @ 14999:f6a737357195
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 01 Aug 2011 10:54:34 -0500 |
parents | d3bb825ddae3 e5b2ee5157ae |
children | 8b011ededfb2 |
line wrap: on
line diff
--- a/mercurial/hook.py Sun Jul 31 22:12:13 2011 +0200 +++ b/mercurial/hook.py Mon Aug 01 10:54:34 2011 -0500 @@ -134,12 +134,16 @@ oldstdout = -1 if _redirect: - stdoutno = sys.__stdout__.fileno() - stderrno = sys.__stderr__.fileno() - # temporarily redirect stdout to stderr, if possible - if stdoutno >= 0 and stderrno >= 0: - oldstdout = os.dup(stdoutno) - os.dup2(stderrno, stdoutno) + try: + stdoutno = sys.__stdout__.fileno() + stderrno = sys.__stderr__.fileno() + # temporarily redirect stdout to stderr, if possible + if stdoutno >= 0 and stderrno >= 0: + oldstdout = os.dup(stdoutno) + os.dup2(stderrno, stdoutno) + except AttributeError: + # __stdout/err__ doesn't have fileno(), it's not a real file + pass try: for hname, cmd in ui.configitems('hooks'):