Plugins/VcsPlugins/vcsMercurial/hg.py

branch
Py2 comp.
changeset 2677
3d4277929fb3
parent 2575
cbdf5b8a5bc5
parent 2597
951e631c9c1d
child 2791
a9577f248f04
equal deleted inserted replaced
2670:e60ea6cb8e11 2677:3d4277929fb3
8 """ 8 """
9 9
10 from __future__ import unicode_literals # __IGNORE_WARNING__ 10 from __future__ import unicode_literals # __IGNORE_WARNING__
11 try: 11 try:
12 str = unicode 12 str = unicode
13 import urllib as parse
13 except (NameError): 14 except (NameError):
14 pass 15 import urllib.parse as parse # __IGNORE_WARNING__
15 16
16 import os 17 import os
17 import shutil 18 import shutil
18 import re 19 import re
19 try: # Py3
20 import urllib.parse as parse
21 except:
22 import urllib as parse
23 20
24 from PyQt4.QtCore import QProcess, pyqtSignal, QFileInfo, QFileSystemWatcher 21 from PyQt4.QtCore import QProcess, pyqtSignal, QFileInfo, QFileSystemWatcher
25 from PyQt4.QtGui import QApplication, QDialog, QInputDialog 22 from PyQt4.QtGui import QApplication, QDialog, QInputDialog
26 23
27 from E5Gui.E5Application import e5App 24 from E5Gui.E5Application import e5App
106 self.repoEditor = None 103 self.repoEditor = None
107 self.userEditor = None 104 self.userEditor = None
108 self.serveDlg = None 105 self.serveDlg = None
109 106
110 self.bundleFile = None 107 self.bundleFile = None
108 self.__lastChangeGroupPath = None
111 109
112 self.statusCache = {} 110 self.statusCache = {}
113 111
114 self.__commitData = {} 112 self.__commitData = {}
115 self.__commitDialog = None 113 self.__commitDialog = None
2146 revs, baseRevs, compression, all = dlg.getParameters() 2144 revs, baseRevs, compression, all = dlg.getParameters()
2147 2145
2148 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( 2146 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
2149 None, 2147 None,
2150 self.trUtf8("Create changegroup"), 2148 self.trUtf8("Create changegroup"),
2151 repodir, 2149 self.__lastChangeGroupPath or repodir,
2152 self.trUtf8("Mercurial Changegroup Files (*.hg)"), 2150 self.trUtf8("Mercurial Changegroup Files (*.hg)"),
2153 None, 2151 None,
2154 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) 2152 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
2155 2153
2156 if not fname: 2154 if not fname:
2169 .format(fname), 2167 .format(fname),
2170 icon=E5MessageBox.Warning) 2168 icon=E5MessageBox.Warning)
2171 if not res: 2169 if not res:
2172 return 2170 return
2173 fname = Utilities.toNativeSeparators(fname) 2171 fname = Utilities.toNativeSeparators(fname)
2172 self.__lastChangeGroupPath = os.path.dirname(fname)
2174 2173
2175 args = [] 2174 args = []
2176 args.append('bundle') 2175 args.append('bundle')
2177 if all: 2176 if all:
2178 args.append("--all") 2177 args.append("--all")
2209 return 2208 return
2210 2209
2211 file = E5FileDialog.getOpenFileName( 2210 file = E5FileDialog.getOpenFileName(
2212 None, 2211 None,
2213 self.trUtf8("Preview changegroup"), 2212 self.trUtf8("Preview changegroup"),
2214 repodir, 2213 self.__lastChangeGroupPath or repodir,
2215 self.trUtf8("Mercurial Changegroup Files (*.hg);;All Files (*)")) 2214 self.trUtf8("Mercurial Changegroup Files (*.hg);;All Files (*)"))
2216 if file: 2215 if file:
2216 self.__lastChangeGroupPath = os.path.dirname(file)
2217
2217 if self.getPlugin().getPreferences("UseLogBrowser"): 2218 if self.getPlugin().getPreferences("UseLogBrowser"):
2218 from .HgLogBrowserDialog import HgLogBrowserDialog 2219 from .HgLogBrowserDialog import HgLogBrowserDialog
2219 self.logBrowser = \ 2220 self.logBrowser = \
2220 HgLogBrowserDialog(self, mode="incoming", bundle=file) 2221 HgLogBrowserDialog(self, mode="incoming", bundle=file)
2221 self.logBrowser.show() 2222 self.logBrowser.show()
2242 return 2243 return
2243 2244
2244 file = E5FileDialog.getOpenFileName( 2245 file = E5FileDialog.getOpenFileName(
2245 None, 2246 None,
2246 self.trUtf8("Preview changegroup"), 2247 self.trUtf8("Preview changegroup"),
2247 repodir, 2248 self.__lastChangeGroupPath or repodir,
2248 self.trUtf8("Mercurial Changegroup Files (*.hg);;All Files (*)")) 2249 self.trUtf8("Mercurial Changegroup Files (*.hg);;All Files (*)"))
2249 if file: 2250 if file:
2251 self.__lastChangeGroupPath = os.path.dirname(file)
2252
2250 args = [] 2253 args = []
2251 args.append('identify') 2254 args.append('identify')
2252 args.append(file) 2255 args.append(file)
2253 2256
2254 dia = HgDialog(self.trUtf8('Identifying changegroup file'), self) 2257 dia = HgDialog(self.trUtf8('Identifying changegroup file'), self)
2275 2278
2276 res = False 2279 res = False
2277 files = E5FileDialog.getOpenFileNames( 2280 files = E5FileDialog.getOpenFileNames(
2278 None, 2281 None,
2279 self.trUtf8("Apply changegroups"), 2282 self.trUtf8("Apply changegroups"),
2280 repodir, 2283 self.__lastChangeGroupPath or repodir,
2281 self.trUtf8("Mercurial Changegroup Files (*.hg);;All Files (*)")) 2284 self.trUtf8("Mercurial Changegroup Files (*.hg);;All Files (*)"))
2282 if files: 2285 if files:
2286 self.__lastChangeGroupPath = os.path.dirname(files[0])
2287
2283 update = E5MessageBox.yesNo(self.__ui, 2288 update = E5MessageBox.yesNo(self.__ui,
2284 self.trUtf8("Apply changegroups"), 2289 self.trUtf8("Apply changegroups"),
2285 self.trUtf8("""Shall the working directory be updated?"""), 2290 self.trUtf8("""Shall the working directory be updated?"""),
2286 yesDefault=True) 2291 yesDefault=True)
2287 2292

eric ide

mercurial