--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py Sun Jan 17 13:53:08 2021 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py Mon Feb 01 10:38:16 2021 +0100 @@ -79,17 +79,21 @@ elif button == self.buttonBox.button(QDialogButtonBox.Cancel): self.vcs.getClient().cancel() - def startProcess(self, args, workingDir=None, showArgs=True, - environment=None): + def startProcess(self, args, showArgs=True, environment=None, client=None): """ Public slot used to start the process. - @param args list of arguments for the process (list of strings) - @keyparam workingDir working directory for the process (string) - @keyparam showArgs flag indicating to show the arguments (boolean) - @keyparam environment dictionary of environment settings to add - or change for the git process (dict of string and string) + @param args list of arguments for the process + @type list of str + @param showArgs flag indicating to show the arguments + @type bool + @param environment dictionary of environment settings to add + or change for the git process + @type dict + @param client reference to a non-standard command client + @type HgClient @return flag indicating a successful start of the process + @rtype bool """ self.errorGroup.hide() self.inputGroup.hide() @@ -111,7 +115,9 @@ self.resultbox.append(' '.join(args)) self.resultbox.append('') - out, err = self.vcs.getClient().runcommand( + if client is None: + client = self.vcs.getClient() + out, err = client.runcommand( args, prompt=self.__getInput, output=self.__showOutput,