Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8, 0.8.1, and 0.8.2

hgtk: dump captured stderr to stdout if THGDEBUG set

Need a way to debug these things without modifying code

Changeset ea9642ee8196

Parent 7cbb2ee66bf8

by Steve Borho

Changes to one file · Browse files at ea9642ee8196 Showing diff from parent 7cbb2ee66bf8 Diff from another changeset...

Change 1 of 1 Show Entire File hgtk Stacked
 
48
49
50
51
52
53
54
55
56
57
58
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
 
48
49
50
 
 
 
 
 
 
 
 
 
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@@ -48,13 +48,19 @@
 sys.stderr = cStringIO.StringIO()  ret = hggtk.hgtk.dispatch(sys.argv[1:])  sys.stderr.seek(0) -for l in sys.stderr.readlines(): - if l.startswith('Traceback') or l.startswith('TypeError'): - from hggtk.bugreport import run - from mercurial import ui - from hggtk.hgtk import gtkrun - sys.stderr.seek(0) - error = 'Recoverable runtime error (stderr):\n' + sys.stderr.read() - gtkrun(run(ui.ui(), **{'cmd':' '.join(sys.argv[1:]), 'error':error})) - break +if 'THGDEBUG' in os.environ: + print sys.stderr.read() +else: + for l in sys.stderr.readlines(): + if l.startswith('Traceback') or l.startswith('TypeError'): + from hggtk.bugreport import run + from hggtk.hgtk import gtkrun + from mercurial import ui + sys.stderr.seek(0) + error = 'Recoverable runtime error (stderr):\n' + sys.stderr.read() + opts = {} + opts['cmd'] = ' '.join(sys.argv[1:]) + opts['error'] = error + gtkrun(run(ui.ui(), **opts)) + break  sys.exit(ret)