src/eric7/Plugins/VcsPlugins/vcsMercurial/FastexportExtension/fastexport.py

Mon, 24 Feb 2025 15:43:49 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 24 Feb 2025 15:43:49 +0100
branch
eric7
changeset 11148
15e30f0c76a8
parent 11079
5e4e0e1eead5
permissions
-rw-r--r--

Adjusted the code to the modified issue codes.

11075
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2025 Detlev Offenbach <detlev@die-offenbachs.de>
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the fastexport extension interface.
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt6.QtCore import QProcess, pyqtSlot
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt6.QtWidgets import QDialog
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from eric7.EricWidgets import EricMessageBox
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from eric7.EricWidgets.EricProgressDialog import EricProgressDialog
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from ..HgExtension import HgExtension
11079
5e4e0e1eead5 Corrected a code formatting issue in the fastexport module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11077
diff changeset
19 from ..HgUtilities import getHgExecutable, parseProgressInfo, prepareProcess
11075
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 class Fastexport(HgExtension):
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Class implementing the fastexport extension interface.
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 def __init__(self, vcs, ui=None):
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 Constructor
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @param vcs reference to the Mercurial vcs object
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @type Hg
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param ui reference to a UI widget (defaults to None)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @type QWidget
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 super().__init__(vcs, ui=ui)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.__process = None
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.__progress = None
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 def hgFastexport(self, revisions=None):
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 Public method to export the repository as a git fast-import stream.
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 @param revisions list of revisions to be exported
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 @type list of str
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 from .HgFastexportConfigDialog import HgFastexportConfigDialog
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 dlg = HgFastexportConfigDialog(revisions=revisions, parent=self.ui)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 if dlg.exec() == QDialog.DialogCode.Accepted:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 outputFile, revisions, authormap, importMarks, exportMarks = dlg.getData()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 if os.path.exists(outputFile):
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 overwrite = EricMessageBox.yesNo(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.ui,
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.tr("Mercurial Fastexport"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.tr(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 "<p>The output file <b>{0}</b> exists already. Overwrite it?"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 "</p>"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 ).format(outputFile),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 )
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 if not overwrite:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 return
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 repoPath = self.vcs.getClient().getRepository()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 hgExecutable = getHgExecutable()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 args = self.vcs.initCommand("fastexport")
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 args.extend(["--config", "progress.assume-tty=True"])
11076
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
71 args.extend(["--config", "progress.format=topic bar number estimate"])
11075
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 if authormap:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 args.extend(["--authormap", authormap])
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 if importMarks:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 args.extend(["--import-marks", importMarks])
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 if exportMarks:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 args.extend(["--export-marks", exportMarks])
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 for revision in revisions:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 args.extend(["--rev", revision])
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.__progress = None
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 self.__process = QProcess(parent=self)
11076
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
84 prepareProcess(self.__process)
11075
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.__process.setStandardOutputFile(outputFile)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.__process.setWorkingDirectory(repoPath)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 self.__process.readyReadStandardError.connect(self.__readStderr)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 self.__process.finished.connect(self.__processFinished)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.__process.start(hgExecutable, args)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @pyqtSlot()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 def __readStderr(self):
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 Private slot to handle the readyReadStandardError signal.
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 if self.__process is not None:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 output = str(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.__process.readAllStandardError(), self.vcs.getEncoding(), "replace"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 )
11076
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
100 msg = output.splitlines()[-1].strip()
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
101 topic, value, maximum, estimate = parseProgressInfo(msg)
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
102 if topic:
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
103 # it is a valid progress line
11075
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 if self.__progress is None:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 self.__progress = EricProgressDialog(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 labelText="",
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 cancelButtonText=self.tr("Cancel"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 minimum=0,
11076
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
109 maximum=maximum,
11075
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 labelFormat=self.tr("%v/%m Changesets"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 parent=self.ui,
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 )
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 self.__progress.setWindowTitle(self.tr("Mercurial Fastexport"))
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 self.__progress.show()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 self.__progress.setLabelText(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 self.tr("Exporting repository (time remaining: {0}) ...").format(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 estimate
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 )
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 )
11076
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
120 self.__progress.setValue(value)
11075
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 if self.__progress.wasCanceled() and self.__process is not None:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 self.__process.terminate()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 else:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 if (
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 self.__progress
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 and not self.__progress.wasCanceled()
11076
2989645b2618 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11075
diff changeset
129 and output.strip()
11075
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 ):
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 EricMessageBox.warning(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 self.ui,
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 self.tr("Mercurial Fastexport"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 self.tr(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 "<p>The repository fastexport process sent an error"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 " message.</p><p>{0}</p>"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 ).format(output.strip()),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 )
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 @pyqtSlot(int, QProcess.ExitStatus)
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 def __processFinished(self, exitCode, exitStatus):
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 Private slot to handle the process finished signal.
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 @param exitCode exit code of the process
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 @type int
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 @param exitStatus exit status
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 @type QProcess.ExitStatus
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 """
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 if self.__progress is not None:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 self.__progress.hide()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 self.__progress.deleteLater()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 self.__progress = None
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 if exitStatus == QProcess.ExitStatus.NormalExit:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 if exitCode == 0:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 EricMessageBox.information(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 self.ui,
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 self.tr("Mercurial Fastexport"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 self.tr(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 "<p>The repository fastexport process finished"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 " successfully.</p>"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 ),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 )
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 elif exitCode == 255:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 EricMessageBox.warning(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 self.ui,
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 self.tr("Mercurial Fastexport"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 self.tr("<p>The repository fastexport process was cancelled.</p>"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 )
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 else:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 EricMessageBox.warning(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 self.ui,
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 self.tr("Mercurial Fastexport"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 self.tr(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 "<p>The repository fastexport process finished"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 " with exit code <b>{0}</b>.</p>"
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 ).format(exitCode),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 )
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 else:
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 EricMessageBox.critical(
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 self.ui,
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 self.tr("Mercurial Fastexport"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 self.tr("<p>The repository fastexport process crashed.</p>"),
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 )
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 self.__process.deleteLater()
282fc28b44ee Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 self.__process = None

eric ide

mercurial