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

Merge with stable

Changeset 5a5c59cb5131

Parents 768c865cb2f2

Parents f9a7a798bfc1

by Steve Borho

Changes to 4 files · Browse files at 5a5c59cb5131 Showing diff from parent 768c865cb2f2 f9a7a798bfc1 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)
 
158
159
160
161
 
162
163
164
 
158
159
160
 
161
162
163
164
@@ -158,7 +158,7 @@
  os.makedirs(dest)   except:   qtlib.ErrorMsgBox(_('Error executing init'), - _('Cannot create folder %s' % udest)) + _('Cannot create folder %s') % udest)   return False     _ui = ui.ui()
 
38
39
40
41
 
42
43
 
44
45
46
 
38
39
40
 
41
42
 
43
44
45
46
@@ -38,9 +38,9 @@
  p = path[len('ssh://'):]   user, passwd = None, None   if p.find('@') != -1: - user, p = tuple(p.split('@')) + user, p = tuple(p.split('@', 1))   if user.find(':') != -1: - user, passwd = tuple(user.split(':')) + user, passwd = tuple(user.rsplit(':', 1))   m = re.match(r'([^:/]+)(:(\d+))?(/(.*))?$', p)   if m:   host = m.group(1)
 
107
108
109
110
 
 
111
112
113
 
328
329
330
331
 
332
333
334
 
107
108
109
 
110
111
112
113
114
 
329
330
331
 
332
333
334
335
@@ -107,7 +107,8 @@
  f.write(data)   f.close()   if ctx.rev() is None: - fns_and_mtime.append((dest, repo.wjoin(fn), os.path.getmtime(dest))) + fns_and_mtime.append((dest, repo.wjoin(fn), + os.lstat(dest).st_mtime))   else:   # Make file read/only, to indicate it's static (archival) nature   os.chmod(dest, stat.S_IREAD) @@ -328,7 +329,7 @@
  # detect if changes were made to mirrored working files   for copy_fn, working_fn, mtime in fns_and_mtime:   try: - if os.path.getmtime(copy_fn) != mtime: + if os.lstat(copy_fn).st_mtime != mtime:   ui.debug('file changed while diffing. '   'Overwriting: %s (src: %s)\n' % (working_fn, copy_fn))   util.copyfile(copy_fn, working_fn)