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

Tue, 03 Dec 2024 17:47:23 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 03 Dec 2024 17:47:23 +0100
branch
eric7
changeset 11077
e9bb2fe26a50
parent 11076
2989645b2618
child 11079
5e4e0e1eead5
permissions
-rw-r--r--

Removed an obsolete import statement.

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

eric ide

mercurial