Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 2.0.4, 2.0.5, and 2.1

stable remove hgtk script from stable branch

Users should not try to run the PyGtk product from the stable or
default branches. It will only work properly on the hgtk branch.

Changeset f9a7a798bfc1

Parent 190706a41976

by Steve Borho

Changes to one file · Browse files at f9a7a798bfc1 Showing diff from parent 190706a41976 Diff from another changeset...

Change 1 of 1 Show Entire File hgtk Stacked
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
@@ -1,94 +0,0 @@
-#!/usr/bin/env python -# -# front-end script for TortoiseHg dialogs -# -# Copyright (C) 2008-10 Steve Borho <steve@borho.org> -# Copyright (C) 2008 TK Soh <teekaysoh@gmail.com> -# - -import os -import sys - -if hasattr(sys, "frozen"): - from tortoisehg.util import paths - gtkpath = os.path.join(paths.bin_path, 'gtk') - try: - # may fail on Windows XP without SP1 - import win32api - win32api.SetDllDirectory(gtkpath) - except: - # fallback to prepending gtk/ folder at start of %PATH% - os.environ['PATH'] = os.pathsep.join([gtkpath, os.environ['PATH']]) -else: - # if hgtk is a symlink, insert symlink target directory in sys.path - thgpath = os.path.dirname(os.path.realpath(__file__)) - testpath = os.path.join(thgpath, 'tortoisehg') - if os.path.isdir(testpath) and thgpath not in sys.path: - sys.path.insert(0, thgpath) - - -import pygtk -pygtk.require('2.0') -import gtk - -from mercurial import demandimport -demandimport.ignore.append('win32com.shell') -demandimport.ignore.append('tortoisehg.util.config') -demandimport.enable() -from mercurial import ui, util -from tortoisehg.util.hgversion import hgversion, checkhgversion -import cStringIO -import traceback - -try: - import tortoisehg.hgtk.hgtk -except ImportError: - sys.stderr.write("abort: couldn't find hgtk libraries in [%s]\n" % - ';'.join(sys.path)) - sys.stderr.write("(check your install and PYTHONPATH)\n") - sys.exit(-1) - -_ui = ui.ui() -capt = _ui.configbool('tortoisehg', 'stderrcapt', True) - -err = checkhgversion(hgversion) -if err: - from tortoisehg.hgtk.bugreport import run - from tortoisehg.hgtk.hgtk import gtkrun - opts = {} - opts['cmd'] = ' '.join(sys.argv[1:]) - opts['error'] = err - opts['nofork'] = True - gtkrun(run, _ui, **opts) - sys.exit(1) - -if not capt or 'THGDEBUG' in os.environ or '--profile' in sys.argv: - sys.exit(tortoisehg.hgtk.hgtk.dispatch(sys.argv[1:])) -else: - mystderr = cStringIO.StringIO() - origstderr = sys.stderr - sys.stderr = mystderr - ret = 0 - try: - ret = tortoisehg.hgtk.hgtk.dispatch(sys.argv[1:]) - sys.stderr = origstderr - mystderr.seek(0) - for l in mystderr.readlines(): - if l.startswith(('Traceback', 'TypeError', 'NameError')): - from tortoisehg.hgtk.bugreport import run - from tortoisehg.hgtk.hgtk import gtkrun - error = 'Recoverable runtime error (stderr):\n' - error += mystderr.getvalue() - opts = {} - opts['cmd'] = ' '.join(sys.argv[1:]) - opts['error'] = error - opts['nofork'] = True - gtkrun(run, _ui, **opts) - break - sys.exit(ret) - except: - if sys.exc_info()[0] not in [SystemExit, KeyboardInterrupt]: - sys.stderr = origstderr - traceback.print_exc() - else: - raise SystemExit(ret)