Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.7, 0.7.1, and 0.7.2

hgproc: fix for thgshelve dialog

Changeset 95ec18d34834

Parent d678478ed5c2

by Steve Borho

Changes to one file · Browse files at 95ec18d34834 Showing diff from parent d678478ed5c2 Diff from another changeset...

Change 1 of 1 Show Changes Only hgproc.py 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 #  # 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, hginit, shelve, rename +from hggtk import recovery, thgconfig, datamine, hginit, thgshelve, rename  from hggtk import hgignore  _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, 'init' : hginit, 'shelve' : thgshelve,   'hgignore': hgignore, 'rename' : rename }    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', 'detect')   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   elif o in ("--detect"):   options['detect'] = True     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:])