hook: write hook output to ui fout descriptor stable
authorIdan Kamara <idankk86@gmail.com>
Tue, 21 Jun 2011 16:55:21 +0300
branchstable
changeset 14711 ac70f8d5987c
parent 14709 6c7283faa967
child 14712 8a62bae94425
hook: write hook output to ui fout descriptor output on stderr will also be written to ui.fout, unless sys.__stdout__ is passed in (see util.system), thus not changing previous behavior. This fixes a bug where hooks run through the command server would mess up with the command protocol, sending non-channeled data to the client.
mercurial/hook.py
--- a/mercurial/hook.py	Tue Jun 21 15:21:57 2011 -0500
+++ b/mercurial/hook.py	Tue Jun 21 16:55:21 2011 +0300
@@ -107,7 +107,7 @@
     if 'HG_URL' in env and env['HG_URL'].startswith('remote:http'):
         r = util.system(cmd, environ=env, cwd=cwd, out=ui)
     else:
-        r = util.system(cmd, environ=env, cwd=cwd)
+        r = util.system(cmd, environ=env, cwd=cwd, out=ui.fout)
     if r:
         desc, r = util.explainexit(r)
         if throw: