221 finished = process.waitForFinished(30000) |
222 finished = process.waitForFinished(30000) |
222 if finished and process.exitCode() == 0: |
223 if finished and process.exitCode() == 0: |
223 output = \ |
224 output = \ |
224 str(process.readAllStandardOutput(), ioEncoding, 'replace') |
225 str(process.readAllStandardOutput(), ioEncoding, 'replace') |
225 self.versionStr = output.splitlines()[0].split()[-1][0:-1] |
226 self.versionStr = output.splitlines()[0].split()[-1][0:-1] |
|
227 v = list(re.match(r'.*?(\d+)\.(\d+)\.?(\d+)?(\+[0-9a-f-]+)?', |
|
228 self.versionStr).groups()) |
|
229 for i in range(3): |
|
230 try: |
|
231 v[i] = int(v[i]) |
|
232 except TypeError: |
|
233 v[i] = 0 |
|
234 except IndexError: |
|
235 v.append(0) |
|
236 self.version = tuple(v) |
226 self.__getExtensionsInfo() |
237 self.__getExtensionsInfo() |
227 return True, errMsg |
238 return True, errMsg |
228 else: |
239 else: |
229 if finished: |
240 if finished: |
230 errMsg = \ |
241 errMsg = \ |
2394 if output: |
2405 if output: |
2395 for line in output.splitlines(): |
2406 for line in output.splitlines(): |
2396 extensionName = line.split("=", 1)[0].strip().split(".")[-1].strip() |
2407 extensionName = line.split("=", 1)[0].strip().split(".")[-1].strip() |
2397 self.__activeExtensions.append(extensionName) |
2408 self.__activeExtensions.append(extensionName) |
2398 |
2409 |
2399 if self.versionStr >= "1.8": |
2410 if self.version >= (1, 8): |
2400 if "bookmarks" not in self.__activeExtensions: |
2411 if "bookmarks" not in self.__activeExtensions: |
2401 self.__activeExtensions.append("bookmarks") |
2412 self.__activeExtensions.append("bookmarks") |
2402 |
2413 |
2403 if activeExtensions != sorted(self.__activeExtensions): |
2414 if activeExtensions != sorted(self.__activeExtensions): |
2404 self.activeExtensionsChanged.emit() |
2415 self.activeExtensionsChanged.emit() |
2446 """ |
2457 """ |
2447 self.__projectHelper = self.__plugin.getProjectHelper() |
2458 self.__projectHelper = self.__plugin.getProjectHelper() |
2448 self.__projectHelper.setObjects(self, project) |
2459 self.__projectHelper.setObjects(self, project) |
2449 self.__monitorRepoIniFile(project.getProjectPath()) |
2460 self.__monitorRepoIniFile(project.getProjectPath()) |
2450 |
2461 |
2451 if self.versionStr >= "1.9": |
2462 if self.version >= (1, 9): |
2452 client = HgClient(project.getProjectPath(), "utf-8", self) |
2463 client = HgClient(project.getProjectPath(), "utf-8", self) |
2453 ok, err = client.startServer() |
2464 ok, err = client.startServer() |
2454 if ok: |
2465 if ok: |
2455 self.__client = client |
2466 self.__client = client |
2456 else: |
2467 else: |