src/eric7/Plugins/VcsPlugins/vcsMercurial/HgUtilities.py

Thu, 07 Jul 2022 11:23:56 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 07 Jul 2022 11:23:56 +0200
branch
eric7
changeset 9209
b99e7fd55fd3
parent 9054
eric7/Plugins/VcsPlugins/vcsMercurial/HgUtilities.py@adae534abaf0
child 9221
bf71ee032bb4
permissions
-rw-r--r--

Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".

178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
3 # Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing some common utility functions for the Mercurial package.
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
11 import re
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
12 import sys
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
14 from PyQt6.QtCore import QProcess, QProcessEnvironment, QCoreApplication
2816
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
15
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 import Utilities
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
17 from Globals import isWindowsPlatform
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
18
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
19
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
20 def getHgExecutable():
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
21 """
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
22 Function to get the full path of the Mercurial executable.
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
23
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
24 @return path of the Mercurial executable
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
25 @rtype str
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
26 """
9054
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
27 from Plugins.PluginVcsMercurial import VcsMercurialPlugin
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
28
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
29 exe = VcsMercurialPlugin.getPreferences("MercurialExecutablePath")
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
30 if not exe:
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
31 program = "hg"
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
32 if isWindowsPlatform():
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
33 program += ".exe"
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
34 dirName = os.path.dirname(sys.executable)
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
35 if os.path.exists(os.path.join(dirName, program)):
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
36 exe = os.path.join(dirName, program)
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
37 elif os.path.exists(os.path.join(dirName, "Scripts", program)):
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
38 exe = os.path.join(dirName, "Scripts", program)
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
39 else:
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
40 dirName = os.path.dirname(sys.executable)
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
41 if os.path.exists(os.path.join(dirName, program)):
adae534abaf0 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
42 exe = os.path.join(dirName, program)
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
43
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
44 if not exe:
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
45 exe = program
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
46
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
47 return exe
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
49
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 def getConfigPath():
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 """
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
52 Function to get the filename of the config file.
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
54 @return filename of the config file
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
55 @rtype str
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 """
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 if Utilities.isWindowsPlatform():
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 userprofile = os.environ["USERPROFILE"]
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 return os.path.join(userprofile, "Mercurial.ini")
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 else:
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 homedir = Utilities.getHomeDir()
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 return os.path.join(homedir, ".hgrc")
2816
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
63
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
64
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
65 def prepareProcess(proc, encoding="", language=""):
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
66 """
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
67 Function to prepare the given process.
2816
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
68
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
69 @param proc reference to the process to be prepared
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
70 @type QProcess
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
71 @param encoding encoding to be used by the process
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
72 @type str
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
73 @param language language to be set
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
74 @type str
2816
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
75 """
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
76 env = QProcessEnvironment.systemEnvironment()
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
77 env.insert("HGPLAIN", '1')
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
78
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
79 # set the encoding for the process
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
80 if encoding:
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
81 env.insert("HGENCODING", encoding)
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
82
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
83 # set the language for the process
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
84 if language:
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
85 env.insert("LANGUAGE", language)
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
86
05aab5164d64 A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
87 proc.setProcessEnvironment(env)
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
88
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
89
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
90 def hgVersion(plugin):
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
91 """
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
92 Public method to determine the Mercurial version.
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
93
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
94 @param plugin reference to the plugin object
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
95 @type VcsMercurialPlugin
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
96 @return tuple containing the Mercurial version as a string and as a tuple
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
97 and an error message.
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
98 @rtype tuple of str, tuple of int and str
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
99 """
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
100 versionStr = ""
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
101 version = ()
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
102 errorMsg = ""
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
103
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
104 exe = getHgExecutable()
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
105
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
106 args = ["version"]
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
107 args.extend(plugin.getGlobalOptions())
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
108 process = QProcess()
8288
809d5d5ac2ba Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
109 process.start(exe, args)
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
110 procStarted = process.waitForStarted(5000)
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
111 if procStarted:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
112 finished = process.waitForFinished(30000)
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
113 if finished and process.exitCode() == 0:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
114 output = str(process.readAllStandardOutput(),
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
115 plugin.getPreferences("Encoding"), 'replace')
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
116 versionStr = output.splitlines()[0].split()[-1][0:-1]
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
117 v = list(re.match(r'.*?(\d+)\.(\d+)\.?(\d+)?(\+[0-9a-f-]+)?',
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
118 versionStr).groups())
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
119 if v[-1] is None:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
120 del v[-1]
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
121 for i in range(3):
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
122 try:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
123 v[i] = int(v[i])
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
124 except TypeError:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
125 v[i] = 0
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
126 except IndexError:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
127 v.append(0)
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
128 version = tuple(v)
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
129 else:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
130 if finished:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
131 errorMsg = QCoreApplication.translate(
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
132 "HgUtilities",
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
133 "The hg process finished with the exit code {0}"
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
134 ).format(process.exitCode())
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
135 else:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
136 errorMsg = QCoreApplication.translate(
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
137 "HgUtilities",
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
138 "The hg process did not finish within 30s.")
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
139 else:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
140 errorMsg = QCoreApplication.translate(
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
141 "HgUtilities",
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
142 "Could not start the hg executable.")
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
143
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
144 return versionStr, version, errorMsg

eric ide

mercurial