diff -r 7d0eff6435a9 -r 77f836a883c1 Plugins/VcsPlugins/vcsMercurial/PurgeExtension/purge.py --- a/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/purge.py Tue Aug 30 18:19:32 2011 +0200 +++ b/Plugins/VcsPlugins/vcsMercurial/PurgeExtension/purge.py Tue Aug 30 18:20:55 2011 +0200 @@ -53,23 +53,29 @@ """ purgeEntries = [] - ioEncoding = Preferences.getSystem("IOEncoding") - process = QProcess() args = [] args.append("purge") args.append("--print") if all: args.append("--all") - process.setWorkingDirectory(repodir) - process.start('hg', args) - procStarted = process.waitForStarted() - if procStarted: - finished = process.waitForFinished(30000) - if finished and process.exitCode() == 0: - purgeEntries = str( - process.readAllStandardOutput(), - ioEncoding, 'replace').strip().split() + client = self.vcs.getClient() + if client: + out, err = client.runcommand(args) + if out: + purgeEntries = out.strip().split() + else: + ioEncoding = Preferences.getSystem("IOEncoding") + process = QProcess() + process.setWorkingDirectory(repodir) + process.start('hg', args) + procStarted = process.waitForStarted() + if procStarted: + finished = process.waitForFinished(30000) + if finished and process.exitCode() == 0: + purgeEntries = str( + process.readAllStandardOutput(), + ioEncoding, 'replace').strip().split() return purgeEntries @@ -104,7 +110,7 @@ args.append("--all") args.append("-v") - dia = HgDialog(title) + dia = HgDialog(title, self.vcs) res = dia.startProcess(args, repodir) if res: dia.exec_()