Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py

branch
Py2 comp.
changeset 3058
0a02c433f52d
parent 3057
10516539f238
parent 3024
17c01303a239
child 3060
5883ce99ee12
equal deleted inserted replaced
3057:10516539f238 3058:0a02c433f52d
158 elif os.path.exists('/usr/tmp'): 158 elif os.path.exists('/usr/tmp'):
159 tmpdir = '/usr/tmp' 159 tmpdir = '/usr/tmp'
160 elif os.path.exists('/tmp'): 160 elif os.path.exists('/tmp'):
161 tmpdir = '/tmp' 161 tmpdir = '/tmp'
162 else: 162 else:
163 E5MessageBox.critical(self, 163 E5MessageBox.critical(
164 self,
164 self.trUtf8("Subversion Diff"), 165 self.trUtf8("Subversion Diff"),
165 self.trUtf8("""There is no temporary directory available.""")) 166 self.trUtf8("""There is no temporary directory available."""))
166 return 167 return
167 168
168 tmpdir = os.path.join(tmpdir, 'svn_tmp') 169 tmpdir = os.path.join(tmpdir, 'svn_tmp')
218 self.__getDiffSummaryKind( 219 self.__getDiffSummaryKind(
219 diff_sum['summarize_kind']), 220 diff_sum['summarize_kind']),
220 diff_sum['path'])) 221 diff_sum['path']))
221 diffText = os.linesep.join(diff_list) 222 diffText = os.linesep.join(diff_list)
222 else: 223 else:
223 diffText = self.client.diff(tmpdir, 224 diffText = self.client.diff(
225 tmpdir,
224 url1, revision1=rev1, 226 url1, revision1=rev1,
225 url_or_path2=url2, revision2=rev2, 227 url_or_path2=url2, revision2=rev2,
226 recurse=recurse) 228 recurse=recurse)
227 else: 229 else:
228 if pegRev is not None: 230 if pegRev is not None:
230 tmpdir, name, 232 tmpdir, name,
231 peg_revision=self.__getVersionArg(pegRev), 233 peg_revision=self.__getVersionArg(pegRev),
232 revision_start=rev1, revision_end=rev2, 234 revision_start=rev1, revision_end=rev2,
233 recurse=recurse) 235 recurse=recurse)
234 else: 236 else:
235 diffText = self.client.diff(tmpdir, name, 237 diffText = self.client.diff(
238 tmpdir, name,
236 revision1=rev1, revision2=rev2, recurse=recurse) 239 revision1=rev1, revision2=rev2, recurse=recurse)
237 counter = 0 240 counter = 0
238 for line in diffText.splitlines(): 241 for line in diffText.splitlines():
239 if line.startswith("--- ") or \ 242 if line.startswith("--- ") or \
240 line.startswith("+++ "): 243 line.startswith("+++ "):
419 if not ext: 422 if not ext:
420 ex = selectedFilter.split("(*")[1].split(")")[0] 423 ex = selectedFilter.split("(*")[1].split(")")[0]
421 if ex: 424 if ex:
422 fname += ex 425 fname += ex
423 if QFileInfo(fname).exists(): 426 if QFileInfo(fname).exists():
424 res = E5MessageBox.yesNo(self, 427 res = E5MessageBox.yesNo(
428 self,
425 self.trUtf8("Save Diff"), 429 self.trUtf8("Save Diff"),
426 self.trUtf8("<p>The patch file <b>{0}</b> already exists." 430 self.trUtf8("<p>The patch file <b>{0}</b> already exists."
427 " Overwrite it?</p>").format(fname), 431 " Overwrite it?</p>").format(fname),
428 icon=E5MessageBox.Warning) 432 icon=E5MessageBox.Warning)
429 if not res: 433 if not res:
434 try: 438 try:
435 f = open(fname, "w", encoding="utf-8", newline="") 439 f = open(fname, "w", encoding="utf-8", newline="")
436 f.write(eol.join(self.contents.toPlainText().splitlines())) 440 f.write(eol.join(self.contents.toPlainText().splitlines()))
437 f.close() 441 f.close()
438 except IOError as why: 442 except IOError as why:
439 E5MessageBox.critical(self, self.trUtf8('Save Diff'), 443 E5MessageBox.critical(
440 self.trUtf8('<p>The patch file <b>{0}</b> could not be saved.' 444 self, self.trUtf8('Save Diff'),
445 self.trUtf8(
446 '<p>The patch file <b>{0}</b> could not be saved.'
441 '<br>Reason: {1}</p>') 447 '<br>Reason: {1}</p>')
442 .format(fname, str(why))) 448 .format(fname, str(why)))
443 449
444 def __showError(self, msg): 450 def __showError(self, msg):
445 """ 451 """

eric ide

mercurial