thg / hgproc.py

Diff from to

hgproc.py

-#
-# front-end for TortoiseHg dialogs
-#
-# Copyright (C) 2007 TK Soh <teekaysoh@gmail.com>
-#
-
-import os
-import sys
-from mercurial import ui
-from tortoise.thgutil import get_prog_root
-
-# always use hg exe installed with TortoiseHg
-thgdir = get_prog_root()
-try:
-    os.environ['PATH'] = os.path.pathsep.join([thgdir, os.environ['PATH']])
-except KeyError:
-    os.environ['PATH'] = thgdir
-
-if not sys.stdin.isatty():
-    try:
-        import win32traceutil
-        
-        # FIXME: quick workaround traceback caused by missing "closed" 
-        # attribute in win32trace.
-        from mercurial import ui
-        def write_err(self, *args):
-            for a in args:
-                sys.stderr.write(str(a))
-        ui.ui.write_err = write_err
-    except ImportError:
-        pass
-    except pywintypes.error:
-        pass
-
-# Map hgproc commands to dialog modules in hggtk/
-from hggtk import commit, status, addremove, tagadd, tags, history, merge
-from hggtk import diff, revisions, update, serve, clone, synch, hgcmd, about
-from hggtk import recovery, thgconfig, datamine
-_dialogs = { 'commit' : commit,    'status' : status,    'revert' : status,
-             'add'    : addremove, 'remove' : addremove, 'tag'    : tagadd,
-             'tags'   : tags,      'log'    : history,   'history': history,
-             'diff'   : diff,      'merge'  : merge,     'tip'    : revisions,
-             'parents': revisions, 'heads'  : revisions, 'update' : update,
-             'clone'  : clone,     'serve'  : serve,     'synch'  : synch,
-             'about'  : about,     'config' : thgconfig, 'recovery': recovery,
-             'datamine': datamine }
-
-def get_list_from_file(filename):
-    fd = open(filename, "r")
-    lines = [ x.replace("\n", "") for x in fd.readlines() ]
-    fd.close()
-    return lines
-
-def get_option(args):
-    import getopt
-    long_opt_list = ('command=', 'exepath=', 'listfile=', 'root=', 'cwd=',
-            'deletelistfile', 'nogui')
-    opts, args = getopt.getopt(args, "c:e:l:dR:", long_opt_list)
-    # Set default options
-    options = {}
-    options['hgcmd'] = 'help'
-    options['cwd'] = os.getcwd()
-    options['files'] = []
-    options['gui'] = True
-    listfile = None
-    delfile = False
-    
-    for o, a in opts:
-        if o in ("-c", "--command"):
-            options['hgcmd'] = a
-        elif o in ("-l", "--listfile"):
-            listfile = a
-        elif o in ("-d", "--deletelistfile"):
-            delfile = True
-        elif o in ("--nogui"):
-            options['gui'] = False
-        elif o in ("-R", "--root"):
-            options['root'] = a
-        elif o in ("--cwd"):
-            options['cwd'] = a
-
-    if listfile:
-        options['files'] = get_list_from_file(listfile)
-        if delfile:
-            os.unlink(listfile)
-
-    return (options, args)
-
-def parse(args):
-    option, args = get_option(args)
-    
-    cmdline = ['hg', option['hgcmd']] 
-    if 'root' in option:
-        cmdline.append('--repository')
-        cmdline.append(option['root'])
-    cmdline.extend(args)
-    cmdline.extend(option['files'])
-    option['cmdline'] = cmdline
-
-    global _dialogs
-    dialog = _dialogs.get(option['hgcmd'], hgcmd)
-    dialog.run(**option)
-
-
-def run_trapped(args):
-    try:
-        dlg = parse(sys.argv[1:])
-    except:
-        import traceback
-        from hggtk.dialog import error_dialog
-        tr = traceback.format_exc()
-        print tr
-        error_dialog(None, "Error executing hgproc", tr)
-
-if __name__=='__main__':
-    #dlg = parse(['-c', 'help', '--', '-v'])
-    #dlg = parse(['-c', 'log', '--root', 'c:\hg\h1', '--', '-l1'])
-    #dlg = parse(['-c', 'status', '--root', 'c:\hg\h1', ])
-    #dlg = parse(['-c', 'add', '--root', 'c:\hg\h1', '--listfile', 'c:\\hg\\h1\\f1', '--notify'])
-    #dlg = parse(['-c', 'rollback', '--root', 'c:\\hg\\h1'])
-    print "hgproc sys.argv =", sys.argv
-    dlg = run_trapped(sys.argv[1:])
+#
+# front-end for TortoiseHg dialogs
+#
+# Copyright (C) 2007 TK Soh <teekaysoh@gmail.com>
+#
+
+import os
+import sys
+from mercurial import ui
+from tortoise.thgutil import get_prog_root
+
+# always use hg exe installed with TortoiseHg
+thgdir = get_prog_root()
+try:
+    os.environ['PATH'] = os.path.pathsep.join([thgdir, os.environ['PATH']])
+except KeyError:
+    os.environ['PATH'] = thgdir
+
+if not sys.stdin.isatty():
+    try:
+        import win32traceutil
+        
+        # FIXME: quick workaround traceback caused by missing "closed" 
+        # attribute in win32trace.
+        from mercurial import ui
+        def write_err(self, *args):
+            for a in args:
+                sys.stderr.write(str(a))
+        ui.ui.write_err = write_err
+    except ImportError:
+        pass
+    except pywintypes.error:
+        pass
+
+# Map hgproc commands to dialog modules in hggtk/
+from hggtk import commit, status, addremove, tagadd, tags, history, merge
+from hggtk import diff, revisions, update, serve, clone, synch, hgcmd, about
+from hggtk import recovery, thgconfig, datamine
+_dialogs = { 'commit' : commit,    'status' : status,    'revert' : status,
+             'add'    : addremove, 'remove' : addremove, 'tag'    : tagadd,
+             'tags'   : tags,      'log'    : history,   'history': history,
+             'diff'   : diff,      'merge'  : merge,     'tip'    : revisions,
+             'parents': revisions, 'heads'  : revisions, 'update' : update,
+             'clone'  : clone,     'serve'  : serve,     'synch'  : synch,
+             'about'  : about,     'config' : thgconfig, 'recovery': recovery,
+             'datamine': datamine }
+
+def get_list_from_file(filename):
+    fd = open(filename, "r")
+    lines = [ x.replace("\n", "") for x in fd.readlines() ]
+    fd.close()
+    return lines
+
+def get_option(args):
+    import getopt
+    long_opt_list = ('command=', 'exepath=', 'listfile=', 'root=', 'cwd=',
+            'deletelistfile', 'nogui')
+    opts, args = getopt.getopt(args, "c:e:l:dR:", long_opt_list)
+    # Set default options
+    options = {}
+    options['hgcmd'] = 'help'
+    options['cwd'] = os.getcwd()
+    options['files'] = []
+    options['gui'] = True
+    listfile = None
+    delfile = False
+    
+    for o, a in opts:
+        if o in ("-c", "--command"):
+            options['hgcmd'] = a
+        elif o in ("-l", "--listfile"):
+            listfile = a
+        elif o in ("-d", "--deletelistfile"):
+            delfile = True
+        elif o in ("--nogui"):
+            options['gui'] = False
+        elif o in ("-R", "--root"):
+            options['root'] = a
+        elif o in ("--cwd"):
+            options['cwd'] = a
+
+    if listfile:
+        options['files'] = get_list_from_file(listfile)
+        if delfile:
+            os.unlink(listfile)
+
+    return (options, args)
+
+def parse(args):
+    option, args = get_option(args)
+    
+    cmdline = ['hg', option['hgcmd']] 
+    if 'root' in option:
+        cmdline.append('--repository')
+        cmdline.append(option['root'])
+    cmdline.extend(args)
+    cmdline.extend(option['files'])
+    option['cmdline'] = cmdline
+
+    global _dialogs
+    dialog = _dialogs.get(option['hgcmd'], hgcmd)
+    dialog.run(**option)
+
+
+def run_trapped(args):
+    try:
+        dlg = parse(sys.argv[1:])
+    except:
+        import traceback
+        from hggtk.dialog import error_dialog
+        tr = traceback.format_exc()
+        print tr
+        error_dialog(None, "Error executing hgproc", tr)
+
+if __name__=='__main__':
+    #dlg = parse(['-c', 'help', '--', '-v'])
+    #dlg = parse(['-c', 'log', '--root', 'c:\hg\h1', '--', '-l1'])
+    #dlg = parse(['-c', 'status', '--root', 'c:\hg\h1', ])
+    #dlg = parse(['-c', 'add', '--root', 'c:\hg\h1', '--listfile', 'c:\\hg\\h1\\f1', '--notify'])
+    #dlg = parse(['-c', 'rollback', '--root', 'c:\\hg\\h1'])
+    print "hgproc sys.argv =", sys.argv
+    dlg = run_trapped(sys.argv[1:])
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.