Sun, 16 Feb 2014 19:36:52 +0100
Made availablity of push/pull related actions dependent on configured remote repository (default/default-push in .hg/hgrc).
--- a/APIs/Python3/eric5.api Sat Feb 15 19:29:20 2014 +0100 +++ b/APIs/Python3/eric5.api Sun Feb 16 19:36:52 2014 +0100 @@ -4713,6 +4713,7 @@ eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.initActions?4() eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.initMenu?4(menu) eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.setObjects?4(vcsObject, projectObject) +eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.showMenu?4() eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.shutdown?4() eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper?1(vcsObject, projectObject, parent=None, name=None) eric5.Plugins.VcsPlugins.vcsMercurial.PurgeExtension.HgPurgeListDialog.HgPurgeListDialog?1(entries, parent=None) @@ -4866,6 +4867,8 @@ eric5.Plugins.VcsPlugins.vcsMercurial.hg.Hg.IgnoreFileName?7 eric5.Plugins.VcsPlugins.vcsMercurial.hg.Hg._createStatusMonitorThread?5(interval, project) eric5.Plugins.VcsPlugins.vcsMercurial.hg.Hg.activeExtensionsChanged?7 +eric5.Plugins.VcsPlugins.vcsMercurial.hg.Hg.canPull?4() +eric5.Plugins.VcsPlugins.vcsMercurial.hg.Hg.canPush?4() eric5.Plugins.VcsPlugins.vcsMercurial.hg.Hg.clearStatusCache?4() eric5.Plugins.VcsPlugins.vcsMercurial.hg.Hg.committed?7 eric5.Plugins.VcsPlugins.vcsMercurial.hg.Hg.getClient?4()
--- a/Documentation/Help/source.qhp Sat Feb 15 19:29:20 2014 +0100 +++ b/Documentation/Help/source.qhp Sun Feb 16 19:36:52 2014 +0100 @@ -1668,6 +1668,7 @@ <keyword name="BookmarksModel.supportedDropActions" id="BookmarksModel.supportedDropActions" ref="eric5.Helpviewer.Bookmarks.BookmarksModel.html#BookmarksModel.supportedDropActions" /> <keyword name="BookmarksProjectHelper" id="BookmarksProjectHelper" ref="eric5.Plugins.VcsPlugins.vcsMercurial.BookmarksExtension.ProjectHelper.html#BookmarksProjectHelper" /> <keyword name="BookmarksProjectHelper (Constructor)" id="BookmarksProjectHelper (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.BookmarksExtension.ProjectHelper.html#BookmarksProjectHelper.__init__" /> + <keyword name="BookmarksProjectHelper.__aboutToShowMenu" id="BookmarksProjectHelper.__aboutToShowMenu" ref="eric5.Plugins.VcsPlugins.vcsMercurial.BookmarksExtension.ProjectHelper.html#BookmarksProjectHelper.__aboutToShowMenu" /> <keyword name="BookmarksProjectHelper.__hgBookmarkDefine" id="BookmarksProjectHelper.__hgBookmarkDefine" ref="eric5.Plugins.VcsPlugins.vcsMercurial.BookmarksExtension.ProjectHelper.html#BookmarksProjectHelper.__hgBookmarkDefine" /> <keyword name="BookmarksProjectHelper.__hgBookmarkDelete" id="BookmarksProjectHelper.__hgBookmarkDelete" ref="eric5.Plugins.VcsPlugins.vcsMercurial.BookmarksExtension.ProjectHelper.html#BookmarksProjectHelper.__hgBookmarkDelete" /> <keyword name="BookmarksProjectHelper.__hgBookmarkIncoming" id="BookmarksProjectHelper.__hgBookmarkIncoming" ref="eric5.Plugins.VcsPlugins.vcsMercurial.BookmarksExtension.ProjectHelper.html#BookmarksProjectHelper.__hgBookmarkIncoming" /> @@ -4934,6 +4935,7 @@ <keyword name="FetchExtension (Package)" id="FetchExtension (Package)" ref="index-eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.html" /> <keyword name="FetchProjectHelper" id="FetchProjectHelper" ref="eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper" /> <keyword name="FetchProjectHelper (Constructor)" id="FetchProjectHelper (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.__init__" /> + <keyword name="FetchProjectHelper.__aboutToShowMenu" id="FetchProjectHelper.__aboutToShowMenu" ref="eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.__aboutToShowMenu" /> <keyword name="FetchProjectHelper.__hgFetch" id="FetchProjectHelper.__hgFetch" ref="eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.__hgFetch" /> <keyword name="FetchProjectHelper.initActions" id="FetchProjectHelper.initActions" ref="eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.initActions" /> <keyword name="FetchProjectHelper.initMenu" id="FetchProjectHelper.initMenu" ref="eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.initMenu" /> @@ -5717,6 +5719,7 @@ <keyword name="Helpviewer (Package)" id="Helpviewer (Package)" ref="index-eric5.Helpviewer.html" /> <keyword name="Hg" id="Hg" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg" /> <keyword name="Hg (Constructor)" id="Hg (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__init__" /> + <keyword name="Hg.__checkDefaults" id="Hg.__checkDefaults" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__checkDefaults" /> <keyword name="Hg.__getExtensionsInfo" id="Hg.__getExtensionsInfo" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__getExtensionsInfo" /> <keyword name="Hg.__hgGetFileForRevision" id="Hg.__hgGetFileForRevision" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__hgGetFileForRevision" /> <keyword name="Hg.__hgURL" id="Hg.__hgURL" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__hgURL" /> @@ -5724,6 +5727,8 @@ <keyword name="Hg.__monitorRepoIniFile" id="Hg.__monitorRepoIniFile" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__monitorRepoIniFile" /> <keyword name="Hg.__vcsCommit_Step2" id="Hg.__vcsCommit_Step2" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.__vcsCommit_Step2" /> <keyword name="Hg._createStatusMonitorThread" id="Hg._createStatusMonitorThread" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg._createStatusMonitorThread" /> + <keyword name="Hg.canPull" id="Hg.canPull" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.canPull" /> + <keyword name="Hg.canPush" id="Hg.canPush" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.canPush" /> <keyword name="Hg.clearStatusCache" id="Hg.clearStatusCache" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.clearStatusCache" /> <keyword name="Hg.getClient" id="Hg.getClient" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.getClient" /> <keyword name="Hg.getExtensionObject" id="Hg.getExtensionObject" ref="eric5.Plugins.VcsPlugins.vcsMercurial.hg.html#Hg.getExtensionObject" /> @@ -6284,6 +6289,7 @@ <keyword name="HgProjectHelper.initActions" id="HgProjectHelper.initActions" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.initActions" /> <keyword name="HgProjectHelper.initMenu" id="HgProjectHelper.initMenu" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.initMenu" /> <keyword name="HgProjectHelper.setObjects" id="HgProjectHelper.setObjects" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.setObjects" /> + <keyword name="HgProjectHelper.showMenu" id="HgProjectHelper.showMenu" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.showMenu" /> <keyword name="HgProjectHelper.shutdown" id="HgProjectHelper.shutdown" ref="eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.shutdown" /> <keyword name="HgPurgeListDialog" id="HgPurgeListDialog" ref="eric5.Plugins.VcsPlugins.vcsMercurial.PurgeExtension.HgPurgeListDialog.html#HgPurgeListDialog" /> <keyword name="HgPurgeListDialog (Constructor)" id="HgPurgeListDialog (Constructor)" ref="eric5.Plugins.VcsPlugins.vcsMercurial.PurgeExtension.HgPurgeListDialog.html#HgPurgeListDialog.__init__" />
--- a/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.BookmarksExtension.ProjectHelper.html Sat Feb 15 19:29:20 2014 +0100 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.BookmarksExtension.ProjectHelper.html Sun Feb 16 19:36:52 2014 +0100 @@ -60,6 +60,9 @@ <td><a href="#BookmarksProjectHelper.__init__">BookmarksProjectHelper</a></td> <td>Constructor</td> </tr><tr> +<td><a href="#BookmarksProjectHelper.__aboutToShowMenu">__aboutToShowMenu</a></td> +<td>Private slot to handle the aboutToShow signal of the background menu.</td> +</tr><tr> <td><a href="#BookmarksProjectHelper.__hgBookmarkDefine">__hgBookmarkDefine</a></td> <td>Private slot used to define a bookmark.</td> </tr><tr> @@ -106,6 +109,11 @@ <b>BookmarksProjectHelper</b>(<i></i>) <p> Constructor +</p><a NAME="BookmarksProjectHelper.__aboutToShowMenu" ID="BookmarksProjectHelper.__aboutToShowMenu"></a> +<h4>BookmarksProjectHelper.__aboutToShowMenu</h4> +<b>__aboutToShowMenu</b>(<i></i>) +<p> + Private slot to handle the aboutToShow signal of the background menu. </p><a NAME="BookmarksProjectHelper.__hgBookmarkDefine" ID="BookmarksProjectHelper.__hgBookmarkDefine"></a> <h4>BookmarksProjectHelper.__hgBookmarkDefine</h4> <b>__hgBookmarkDefine</b>(<i></i>)
--- a/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html Sat Feb 15 19:29:20 2014 +0100 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html Sun Feb 16 19:36:52 2014 +0100 @@ -60,6 +60,9 @@ <td><a href="#FetchProjectHelper.__init__">FetchProjectHelper</a></td> <td>Constructor</td> </tr><tr> +<td><a href="#FetchProjectHelper.__aboutToShowMenu">__aboutToShowMenu</a></td> +<td>Private slot to handle the aboutToShow signal of the background menu.</td> +</tr><tr> <td><a href="#FetchProjectHelper.__hgFetch">__hgFetch</a></td> <td>Private slot used to fetch changes from a remote repository.</td> </tr><tr> @@ -82,6 +85,11 @@ <b>FetchProjectHelper</b>(<i></i>) <p> Constructor +</p><a NAME="FetchProjectHelper.__aboutToShowMenu" ID="FetchProjectHelper.__aboutToShowMenu"></a> +<h4>FetchProjectHelper.__aboutToShowMenu</h4> +<b>__aboutToShowMenu</b>(<i></i>) +<p> + Private slot to handle the aboutToShow signal of the background menu. </p><a NAME="FetchProjectHelper.__hgFetch" ID="FetchProjectHelper.__hgFetch"></a> <h4>FetchProjectHelper.__hgFetch</h4> <b>__hgFetch</b>(<i></i>)
--- a/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html Sat Feb 15 19:29:20 2014 +0100 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html Sun Feb 16 19:36:52 2014 +0100 @@ -219,6 +219,9 @@ <td><a href="#HgProjectHelper.setObjects">setObjects</a></td> <td>Public method to set references to the vcs and project objects.</td> </tr><tr> +<td><a href="#HgProjectHelper.showMenu">showMenu</a></td> +<td>Public slot called before the vcs menu is shown.</td> +</tr><tr> <td><a href="#HgProjectHelper.shutdown">shutdown</a></td> <td>Public method to perform shutdown actions.</td> </tr> @@ -538,7 +541,12 @@ <dd> reference to the project object </dd> -</dl><a NAME="HgProjectHelper.shutdown" ID="HgProjectHelper.shutdown"></a> +</dl><a NAME="HgProjectHelper.showMenu" ID="HgProjectHelper.showMenu"></a> +<h4>HgProjectHelper.showMenu</h4> +<b>showMenu</b>(<i></i>) +<p> + Public slot called before the vcs menu is shown. +</p><a NAME="HgProjectHelper.shutdown" ID="HgProjectHelper.shutdown"></a> <h4>HgProjectHelper.shutdown</h4> <b>shutdown</b>(<i></i>) <p>
--- a/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.hg.html Sat Feb 15 19:29:20 2014 +0100 +++ b/Documentation/Source/eric5.Plugins.VcsPlugins.vcsMercurial.hg.html Sun Feb 16 19:36:52 2014 +0100 @@ -70,6 +70,9 @@ <td><a href="#Hg.__init__">Hg</a></td> <td>Constructor</td> </tr><tr> +<td><a href="#Hg.__checkDefaults">__checkDefaults</a></td> +<td>Private method to check, if the default and default-push URLs have been configured.</td> +</tr><tr> <td><a href="#Hg.__getExtensionsInfo">__getExtensionsInfo</a></td> <td>Private method to get the active extensions from Mercurial.</td> </tr><tr> @@ -91,6 +94,12 @@ <td><a href="#Hg._createStatusMonitorThread">_createStatusMonitorThread</a></td> <td>Protected method to create an instance of the VCS status monitor thread.</td> </tr><tr> +<td><a href="#Hg.canPull">canPull</a></td> +<td>Public method to check, if pull is possible.</td> +</tr><tr> +<td><a href="#Hg.canPush">canPush</a></td> +<td>Public method to check, if push is possible.</td> +</tr><tr> <td><a href="#Hg.clearStatusCache">clearStatusCache</a></td> <td>Public method to clear the status cache.</td> </tr><tr> @@ -358,7 +367,13 @@ <dd> name of this object (string) </dd> -</dl><a NAME="Hg.__getExtensionsInfo" ID="Hg.__getExtensionsInfo"></a> +</dl><a NAME="Hg.__checkDefaults" ID="Hg.__checkDefaults"></a> +<h4>Hg.__checkDefaults</h4> +<b>__checkDefaults</b>(<i></i>) +<p> + Private method to check, if the default and default-push URLs + have been configured. +</p><a NAME="Hg.__getExtensionsInfo" ID="Hg.__getExtensionsInfo"></a> <h4>Hg.__getExtensionsInfo</h4> <b>__getExtensionsInfo</b>(<i></i>) <p> @@ -443,6 +458,26 @@ <dd> reference to the monitor thread (QThread) </dd> +</dl><a NAME="Hg.canPull" ID="Hg.canPull"></a> +<h4>Hg.canPull</h4> +<b>canPull</b>(<i></i>) +<p> + Public method to check, if pull is possible. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating pull capability (boolean) +</dd> +</dl><a NAME="Hg.canPush" ID="Hg.canPush"></a> +<h4>Hg.canPush</h4> +<b>canPush</b>(<i></i>) +<p> + Public method to check, if push is possible. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating push capability (boolean) +</dd> </dl><a NAME="Hg.clearStatusCache" ID="Hg.clearStatusCache"></a> <h4>Hg.clearStatusCache</h4> <b>clearStatusCache</b>(<i></i>)
--- a/Plugins/VcsPlugins/vcsMercurial/BookmarksExtension/ProjectHelper.py Sat Feb 15 19:29:20 2014 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/BookmarksExtension/ProjectHelper.py Sun Feb 16 19:36:52 2014 +0100 @@ -196,8 +196,20 @@ menu.addAction(self.hgBookmarkOutgoingAct) menu.addAction(self.hgBookmarkPushAct) + menu.aboutToShow.connect(self.__aboutToShowMenu) + return menu + def __aboutToShowMenu(self): + """ + Private slot to handle the aboutToShow signal of the background menu. + """ + self.hgBookmarkPullAct.setEnabled(self.vcs.canPull()) + self.hgBookmarkIncomingAct.setEnabled(self.vcs.canPull()) + + self.hgBookmarkPushAct.setEnabled(self.vcs.canPush()) + self.hgBookmarkOutgoingAct.setEnabled(self.vcs.canPush()) + def menuTitle(self): """ Public method to get the menu title.
--- a/Plugins/VcsPlugins/vcsMercurial/FetchExtension/ProjectHelper.py Sat Feb 15 19:29:20 2014 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/FetchExtension/ProjectHelper.py Sun Feb 16 19:36:52 2014 +0100 @@ -63,8 +63,16 @@ menu.addAction(self.hgFetchAct) + menu.aboutToShow.connect(self.__aboutToShowMenu) + return menu + def __aboutToShowMenu(self): + """ + Private slot to handle the aboutToShow signal of the background menu. + """ + self.hgFetchAct.setEnabled(self.vcs.canPull()) + def menuTitle(self): """ Public method to get the menu title.
--- a/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py Sat Feb 15 19:29:20 2014 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py Sun Feb 16 19:36:52 2014 +0100 @@ -1171,6 +1171,20 @@ menu.addAction(self.hgEditUserConfigAct) menu.addAction(self.hgConfigAct) + def showMenu(self): + """ + Public slot called before the vcs menu is shown. + """ + super().showMenu() + + self.hgPullAct.setEnabled(self.vcs.canPull()) + self.hgIncomingAct.setEnabled(self.vcs.canPull()) + + self.hgPushAct.setEnabled(self.vcs.canPush()) + self.hgPushBranchAct.setEnabled(self.vcs.canPush()) + self.hgPushForcedAct.setEnabled(self.vcs.canPush()) + self.hgOutgoingAct.setEnabled(self.vcs.canPush()) + def shutdown(self): """ Public method to perform shutdown actions.
--- a/Plugins/VcsPlugins/vcsMercurial/hg.py Sat Feb 15 19:29:20 2014 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/hg.py Sun Feb 16 19:36:52 2014 +0100 @@ -121,6 +121,11 @@ self.__client = None + self.__repoDir = "" + self.__repoIniFile = "" + self.__defaultConfigured = False + self.__defaultPushConfigured = False + # instantiate the extensions from .BookmarksExtension.bookmarks import Bookmarks from .QueuesExtension.queues import Queues @@ -3216,9 +3221,60 @@ shutil.rmtree(subrepoAbsPath, True) ########################################################################### - ## Methods to handle extensions are below. + ## Methods to handle configuration dependent stuff are below. ########################################################################### + def __checkDefaults(self): + """ + Private method to check, if the default and default-push URLs + have been configured. + """ + args = [] + args.append('showconfig') + args.append('paths') + + output = "" + if self.__client is None: + process = QProcess() + self.__repoDir and process.setWorkingDirectory(self.__repoDir) + process.start('hg', args) + procStarted = process.waitForStarted(5000) + if procStarted: + finished = process.waitForFinished(30000) + if finished and process.exitCode() == 0: + output = str( + process.readAllStandardOutput(), + Preferences.getSystem("IOEncoding"), 'replace') + else: + output, error = self.__client.runcommand(args) + + if output: + self.__defaultConfigured = False + self.__defaultPushConfigured = False + for line in output.splitlines(): + if line.startswith("paths.default=") and \ + not line.strip().endswith("="): + self.__defaultConfigured = True + if line.startswith("paths.default-push=") and \ + not line.strip().endswith("="): + self.__defaultPushConfigured = True + + def canPull(self): + """ + Public method to check, if pull is possible. + + @return flag indicating pull capability (boolean) + """ + return self.__defaultConfigured + + def canPush(self): + """ + Public method to check, if push is possible. + + @return flag indicating push capability (boolean) + """ + return self.__defaultPushConfigured or self.__defaultConfigured + def __iniFileChanged(self, path): """ Private slot to handle a change of the Mercurial configuration file. @@ -3237,6 +3293,9 @@ """<p>The Mercurial Command Server could not be""" """ restarted.</p><p>Reason: {0}</p>""").format(err)) self.__client = None + + if self.__repoIniFile and path == self.__repoIniFile: + self.__checkDefaults() def __monitorRepoIniFile(self, name): """ @@ -3257,6 +3316,12 @@ cfgFile = os.path.join(repodir, self.adminDir, "hgrc") if os.path.exists(cfgFile): self.__iniWatcher.addPath(cfgFile) + self.__repoIniFile = cfgFile + self.__checkDefaults() + + ########################################################################### + ## Methods to handle extensions are below. + ########################################################################### def __getExtensionsInfo(self): """ @@ -3272,6 +3337,7 @@ output = "" if self.__client is None: process = QProcess() + self.__repoDir and process.setWorkingDirectory(self.__repoDir) process.start('hg', args) procStarted = process.waitForStarted(5000) if procStarted: @@ -3349,31 +3415,35 @@ @param project reference to the project object @return the project helper object """ + # find the root of the repo + repodir = project.getProjectPath() + while not os.path.isdir(os.path.join(repodir, self.adminDir)): + repodir = os.path.dirname(repodir) + if not repodir or os.path.splitdrive(repodir)[1] == os.sep: + repodir = "" + break + if repodir: + self.__repoDir = repodir + self.__projectHelper = self.__plugin.getProjectHelper() self.__projectHelper.setObjects(self, project) self.__monitorRepoIniFile(project.getProjectPath()) - if not Utilities.isMacPlatform() and self.version >= (1, 9): - # find the root of the repo - repodir = project.getProjectPath() - while not os.path.isdir(os.path.join(repodir, self.adminDir)): - repodir = os.path.dirname(repodir) - if not repodir or os.path.splitdrive(repodir)[1] == os.sep: - repodir = "" - break - if repodir: - from .HgClient import HgClient - client = HgClient(repodir, "utf-8", self) - ok, err = client.startServer() - if ok: - self.__client = client - else: - E5MessageBox.warning( - None, - self.tr("Mercurial Command Server"), - self.tr( - """<p>The Mercurial Command Server could not be""" - """ started.</p><p>Reason: {0}</p>""").format(err)) + if not Utilities.isMacPlatform() and \ + self.version >= (1, 9) and \ + repodir: + from .HgClient import HgClient + client = HgClient(repodir, "utf-8", self) + ok, err = client.startServer() + if ok: + self.__client = client + else: + E5MessageBox.warning( + None, + self.tr("Mercurial Command Server"), + self.tr( + """<p>The Mercurial Command Server could not be""" + """ started.</p><p>Reason: {0}</p>""").format(err)) return self.__projectHelper
--- a/changelog Sat Feb 15 19:29:20 2014 +0100 +++ b/changelog Sun Feb 16 19:36:52 2014 +0100 @@ -16,8 +16,10 @@ tagging of a specific revision --- added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files - --- added a configuration option to enforce the useage of the internal + --- added a configuration option to enforce the usage of the internal merge tool + --- made availablity of push/pull related actions dependent on configured + remote repository (default/default-push in .hg/hgrc) Version 5.4.0: - bug fixes