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) |