Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py

changeset 3242
a7e006073658
parent 3190
a9a94491c4fd
child 3247
ed79e48ba0b4
equal deleted inserted replaced
3238:fa28dab59a9e 3242:a7e006073658
122 self.projectMode = (self.fname == "." and self.dname == self.repodir) 122 self.projectMode = (self.fname == "." and self.dname == self.repodir)
123 123
124 self.activateWindow() 124 self.activateWindow()
125 self.raise_() 125 self.raise_()
126 126
127 preargs = []
127 args = [] 128 args = []
128 args.append(self.mode) 129 args.append(self.mode)
129 self.vcs.addArguments(args, self.vcs.options['global']) 130 self.vcs.addArguments(args, self.vcs.options['global'])
130 self.vcs.addArguments(args, self.vcs.options['log']) 131 self.vcs.addArguments(args, self.vcs.options['log'])
131 if noEntries and self.mode == "log": 132 if noEntries and self.mode == "log":
152 args.append(self.bundle) 153 args.append(self.bundle)
153 elif not self.vcs.hasSubrepositories(): 154 elif not self.vcs.hasSubrepositories():
154 project = e5App().getObject("Project") 155 project = e5App().getObject("Project")
155 self.vcs.bundleFile = os.path.join( 156 self.vcs.bundleFile = os.path.join(
156 project.getProjectManagementDir(), "hg-bundle.hg") 157 project.getProjectManagementDir(), "hg-bundle.hg")
157 args.append('--bundle') 158 if os.path.exists(self.vcs.bundleFile):
159 os.remove(self.vcs.bundleFile)
160 preargs = args[:]
161 preargs.append("--quiet")
162 preargs.append('--bundle')
163 preargs.append(self.vcs.bundleFile)
158 args.append(self.vcs.bundleFile) 164 args.append(self.vcs.bundleFile)
159 if revisions: 165 if revisions:
160 for rev in revisions: 166 for rev in revisions:
161 args.append("--rev") 167 args.append("--rev")
162 args.append(rev) 168 args.append(rev)
165 171
166 if self.__hgClient: 172 if self.__hgClient:
167 self.inputGroup.setEnabled(False) 173 self.inputGroup.setEnabled(False)
168 self.inputGroup.hide() 174 self.inputGroup.hide()
169 175
170 out, err = self.__hgClient.runcommand(args) 176 if preargs:
171 177 out, err = self.__hgClient.runcommand(preargs)
178 else:
179 err = ""
172 if err: 180 if err:
173 self.__showError(err) 181 self.__showError(err)
174 if out and self.isVisible(): 182 else:
175 for line in out.splitlines(True): 183 out, err = self.__hgClient.runcommand(args)
176 self.__processOutputLine(line) 184 if err:
177 if self.__hgClient.wasCanceled(): 185 self.__showError(err)
178 break 186 if out and self.isVisible():
179 187 for line in out.splitlines(True):
188 self.__processOutputLine(line)
189 if self.__hgClient.wasCanceled():
190 break
180 self.__finish() 191 self.__finish()
181 else: 192 else:
182 self.process.kill() 193 self.process.kill()
183 194
184 self.process.setWorkingDirectory(self.repodir) 195 self.process.setWorkingDirectory(self.repodir)
196
197 if preargs:
198 process = QProcess()
199 process.setWorkingDirectory(self.repodir)
200 process.start('hg', args)
201 procStarted = process.waitForStarted(5000)
202 if procStarted:
203 process.waitForFinished(30000)
185 204
186 self.process.start('hg', args) 205 self.process.start('hg', args)
187 procStarted = self.process.waitForStarted(5000) 206 procStarted = self.process.waitForStarted(5000)
188 if not procStarted: 207 if not procStarted:
189 self.inputGroup.setEnabled(False) 208 self.inputGroup.setEnabled(False)

eric ide

mercurial