Source

thg / hgtk

Simon H. 4dc63f3 



Steve Borho 0c8b201 
Simon H. 4dc63f3 


Steve Borho f64d63c 



Steve Borho 63b1b7d 
Steve Borho db36d1f 
Steve Borho 63b1b7d 

Steve Borho f64d63c 


Steve Borho db36d1f 
Steve Borho f64d63c 


Steve Borho e792dc2 
Steve Borho b402005 



Steve Borho 5d96c93 
Steve Borho 9de5a3d 
kiilerix c863fe8 
Steve Borho 9de5a3d 
Henrik Stuart 3e30405 
Steve Borho db36d1f 
Steve Borho f4c848a 
Henrik Stuart cee6657 
Simon H. 4dc63f3 

Steve Borho db36d1f 
Simon H. 4dc63f3 
Steve Borho db36d1f 
Steve Borho bac34ff 
Simon H. 4dc63f3 


Steve Borho 5d96c93 


Henrik Stuart 3e30405 




Steve Borho ee84f33 
Steve Borho db36d1f 
Steve Borho ea9642e 
Steve Borho 9b454cc 
Henrik Stuart cee6657 
Steve Borho 9b454cc 
Steve Borho 96e7135 
Henrik Stuart cee6657 
Steve Borho db36d1f 
Steve Borho 2fb691c 
Henrik Stuart cee6657 

Steve Borho d528b39 
Steve Borho db36d1f 

Steve Borho 2fb691c 

Henrik Stuart cee6657 










Steve Borho 2fb691c 
#!/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"):
    # Prepend C:\Program Files\TortoiseHg\gtk (equiv) to the path
    from tortoisehg.util import paths
    gtkpath = os.path.join(paths.bin_path, 'gtk')
    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:
    _ui.warn('abort: %s\n' % err)
    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)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.