Changeset - 58809814b51d
[Not reviewed]
default
0 2 0
domruf - 9 years ago 2016-06-14 21:23:51
dominikruf@gmail.com
hooks: set Windows stderr output mode to binary

This prevents Python (or the Windows console) from replacing \n with \r\n. The
extra \r made exception output show up with empty lines.

Assuming we only get text and never binary data on stderr, an alternative
solution could be to strip trailing whitespace ...
2 files changed with 18 insertions and 0 deletions:
0 comments (0 inline, 0 general)
kallithea/config/post_receive_tmpl.py
Show inline comments
 
import os
 
import sys
 

	
 
# set output mode on windows to binary for stderr
 
# this prevents python (or the windows console) from replacing \n with  \r\n
 
# git doesn't display remote output lines that contain \r
 
# and therefore without this modification git would displayes empty lines
 
# instead of the exception output
 
if sys.platform == "win32":
 
    import msvcrt
 
    msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
 

	
 
KALLITHEA_HOOK_VER = '_TMPL_'
 
os.environ['KALLITHEA_HOOK_VER'] = KALLITHEA_HOOK_VER
 
from kallithea.lib.hooks import handle_git_post_receive as _handler
kallithea/config/pre_receive_tmpl.py
Show inline comments
 
import os
 
import sys
 

	
 
# set output mode on windows to binary for stderr
 
# this prevents python (or the windows console) from replacing \n with  \r\n
 
# git doesn't display remote output lines that contain \r
 
# and therefore without this modification git would displayes empty lines
 
# instead of the exception output
 
if sys.platform == "win32":
 
    import msvcrt
 
    msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
 

	
 
KALLITHEA_HOOK_VER = '_TMPL_'
 
os.environ['KALLITHEA_HOOK_VER'] = KALLITHEA_HOOK_VER
 
from kallithea.lib.hooks import handle_git_pre_receive as _handler
0 comments (0 inline, 0 general)